Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem ze spacją przy pobieraniuy lancucha funkcją fcanf

Ostatnio zmodyfikowano 2014-05-25 13:21
Autor Wiadomość
gzforever
Temat założony przez niniejszego użytkownika
problem ze spacją przy pobieraniuy lancucha funkcją fcanf
» 2014-05-25 13:21:20
Czy mógłby mi ktoś powiedziec , co zrobic aby zmusić funkcje fscanf do pobrania znaku spacji ? Zapisuję do pliku za pomocą funkcji fprintf lanuch skladający sie z dwóch wyrazów + znaku '\n' tymczasem fscanf uparcie , zamiast skonczyc pobieranie lancucha w miejscu napotkania '\n' konczy w momencie  napotkania spacji ( co całkowicie burzy odczytywanie kolejnych elementow).
Wszystko dziala jak trzeba gdy kazdy lancuch sklada sklada sie z jednego wyrazu.




zapisuję elementy struktury do pliku za pomocą poniższej funkcji:

C/C++
for( i = 0; i < 3; i++ )
     fprintf( ptr, "%s%c%s%c%d%c", ksiazka[ i ].autor, '\n', ksiazka[ i ].tytul, '\n', ksiazka[ i ].rating, '\n' );

poniższy moduł odpowiada z odczytywanie danych z pliku ,zapis do struktury, i wyswietlanie (w celu sprawdzenia poprawnosci dodalem K na koncu kazdego wiersza) , :
C/C++
for( i = 0; i < 3; i++ )
{
    fscanf( ptr, "%s", tab );
    ksiazka[ i ].autor =( char * ) malloc( strlen( tab ) + 1 );
    strcpy( ksiazka[ i ].autor, tab );
    fscanf( ptr, "%s", tab );
    ksiazka[ i ].tytul =( char * ) malloc( strlen( tab ) + 1 );
    strcpy( ksiazka[ i ].tytul, tab );
    fscanf( ptr, "%d", & ksiazka[ i ].rating );
}
for( i = 0; i < 3; i++ )
{
    printf( "%s%c\n", ksiazka[ i ].autor, 'K' );
    printf( "%s%c\n", ksiazka[ i ].tytul, 'K' );
    printf( "%d\n", ksiazka[ i ].rating );
}


tutaj macie przyklad jak wygląda wynik pracy programu dla pliku , który posiada elementy jednowyrazowe : http://zapodaj.net​/7e8e6b9139929.jpg.html

zawartosc pliku (widok z notatnika) :
C/C++
sienkiewicz
potop
12
orzeszkowa
nemen
12
sapkowski
wiedzmin
40
printscreen :

wynik pracy programu dla lanucha w ktorym wystapila spacja (printscreen) :http://zapodaj.net​/c5daf1ec0b122.jpg.html

zawartosc pliku (widok z notatnika)

C/C++
sienkiewicz
potop
12
orzeszkowa
nad niemnem
10
sapkowski
wiedzmin
20
P-110825
« 1 »
  Strona 1 z 1