Obsługa plików w języku C
Ostatnio zmodyfikowano 2013-12-09 23:58
Mutiny Temat założony przez niniejszego użytkownika |
Obsługa plików w języku C » 2013-12-09 23:07:53 Witam, mam problem z działaniem na plikach w języku c. Chcę na razie znać podstawowe rzeczy tj. odczytywać z pliku, wklejam moją marną próbę. Program od razu się wywala. Błędów składniowych nie ma. #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char tab[ 120 ]; FILE * fp; if(( fp = fopen( "test.txt", "r" ) ) == NULL ) { printf( "Blad otwarcia/n" ); getch(); return - 1; } int c; int i = 0; while( c = getc( fp ) != EOF ) { fscanf( fp, "%d", tab[ i ] ); i++; } printf( "nacisnij dowolny klawisz...\n" ); getch(); return 0; }
|
|
OSA_PL |
» 2013-12-09 23:19:30 Strzelam, że przekraczasz rozmiar tablicy. |
|
Mutiny Temat założony przez niniejszego użytkownika |
» 2013-12-09 23:58:48 Dzięki, już ogarnąłem :) A jak bym musiał to napisać by zadeklarować rozmiar po otwarciu pliku ? tablicę charów dynamicznie zrobić, ale jak zliczyć elementy tablicy ? EDIT : Dobra głupie pytanie nieważne już wiem :) #include <stdio.h> #include <stdlib.h> int main() { int i = 0; int nr[ 32 ]; FILE * plik = fopen( "numery.txt", "r" ); if( !plik ) { puts( "Brak pliku numery.txt" ); return EXIT_FAILURE; } while( feof( plik ) == 0 ) { fscanf( plik, "%d\n", & nr[ i ] ); printf( "%d %d\n", i + 1, nr[ i ] ); ++i; } fclose( plik ); return 0; } [ cpp ] |
|
« 1 » |