Avatar billede mieritz Nybegynder
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
Avatar billede arne_v Ekspert
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());
Avatar billede mieritz Nybegynder
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);
Avatar billede arne_v Ekspert
26. april 2004 - 22:26 #3
Ikke hvis c_str() bruger den samme buffer hver gang til at returnere i !
Avatar billede arne_v Ekspert
26. april 2004 - 22:26 #4
Og et svar
Avatar billede mieritz Nybegynder
26. april 2004 - 22:27 #5
nå ok så ved jeg det tak for hjælpen endnu en gang, smid lige et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester