[C] nadpisanie wszystkich elementów tablicy ostatnim łańcuchem
Ostatnio zmodyfikowano 2015-01-09 13:12
qq91 Temat założony przez niniejszego użytkownika |
[C] nadpisanie wszystkich elementów tablicy ostatnim łańcuchem » 2015-01-09 11:39:39 witam, mam taki problem: otwieram plik skladajacy sie z 10 wersy. kazdy wers zapisuje do tablicy łancuchow, zapis odbywa sie prawidlowo co sprawdzam funkcja printf w petli a po wyjsciu z petli kazdy element tablicy sklada sie z ostatniego wersu z pliku. czesc kodu: FILE * wp; char bufor[ 50 ]; char * wersy[ 10 ];
while( fgets( bufor, 50, wp ) != NULL ) { sumy[ i ] = znajdz_cyfry( bufor ); wersy[ i ] = bufor; printf( "Zapisany wers: %s.\n", wersy[ i ] ); i++; }
for( m = 0; m < 10; m++ ) puts( wersy[ m ] );
ostatnia petla wyswietla mi 10 razy ostatni wers z pliku wp o jest złe, czemu tak sie dzieje ? |
|
Adik80 |
» 2015-01-09 13:12:20 wszystkie wskazniki w 'wersy' wskazuja na 'bufor', gdzie masz ostatnia wczytana wartosc. Albo zamien na wersy[10][50] i uzyj strcpy, albo alokuj pamiec i kopiuj: wersy = (char*)malloc(strlen(bufor)+1); strcpy(bufor, bufor); |
|
« 1 » |