26. april 2004 - 22:11
Der er
4 kommentarer og 1 løsning
skriver forkert i fil
Jeg prøver at skrive tre char* ind i en fil, men den ændre de to første værdier så de bliver lig med den sidste og jeg kan ikke helt forstå hvorfor FILE* fp; char tmp3[256]; sprintf(tmp3,"C:\\Program Files\\Borland\\CBuilder6\\Projects\\RS232\\Names\\%s.txt",kort); //ofstream outfile(tmp3); fp = fopen(tmp3, "w"); char* navn1 = Edit1->Text.c_str(); char* adress1 = Edit2->Text.c_str(); char* postnr1 = Edit3->Text.c_str(); fprintf(fp, "%s,%s,%s",navn1,adress1,postnr1); fclose(fp); Det vil sige at i stedet for det som jeg siger den skal så skrive den postnr1 3 gange i stedet for i filen men hvorfor ved jeg ikke
Annonceindlæg fra Arctic Wolf
26. april 2004 - 22:16
#1
Prøv at erstat: char* navn1 = Edit1->Text.c_str(); char* adress1 = Edit2->Text.c_str(); char* postnr1 = Edit3->Text.c_str(); med: char navn1[100]; strcpy(navn1,Edit1->Text.c_str()); char adress1[100]; strcpy(adress1,Edit2->Text.c_str()); char postnr1[100]; strcpy(postnr1,Edit3->Text.c_str());
26. april 2004 - 22:24
#2
ok det virker jeg havde prøvet følgende men det virker ikke, men er det ikke det samme char* navn1 = Edit1->Text.c_str(); char* adress1 = Edit2->Text.c_str(); char* postnr1 = Edit3->Text.c_str(); char navn2[35]; char adress2[35]; char postnr2[20]; strcpy(navn2,navn1); strcpy(adress2,adress1); strcpy(postnr2,postnr1);