C++ Buldier błąd w zmiennych


(Andrzejkierepka) #1

Witam,

Mam problem chciałbym zrobić program który odczytuję plik i sprawdza czy w liku znajduję się podany w polu Edit1 tekst. Jeżeli tak to ma napis pojawić się Memo1.

Oto kod:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int i,j;

fstream plik;

char dane[255],m[8],znak;


for (j=0; j<=7;)

{


m[j]=Edit1->Text.c_str(); // w tym miejscu pojawia mi się taki komunikat " [C++ Error] Unit1.cpp(28): E2034 Cannot convert 'char *' to 'char'"

j++;

}


plik.open("test.txt", ios::in);

if (plik.good()==true)

{

   while (!plik.eof())

        {

        plik.getline(dane,255);

        for (i=0; i<=7; )

           {

           if (dane[i]==m[i])

             {

             i++;

             if (i==7)

               {

               for (int j=0; j<=20; j++)

                 {

                   Memo1->Lines->Add(dane[j]);

                 }

               }

             }

             i++;

           }

        }

   plik.close();

 }


}

Proszę o pomoc


(Grzegorz Kwiatek) #2

Komunikat błędu jest jasny. Funkcja c_str() zwraca wskaźnik, a Ty chciałbyś go przypisać do char. Proponuję zapoznać się z klasą AnsiString z biblioteki VCL.


#3

raker131 , proszę zapoznaj się z tą stroną oraz tym tematem, a następnie popraw tytuł tematu, używając przycisku image.php?album_id=20&image_id=4038


(Andrzejkierepka) #4