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

Obsługa plików w języku C

Ostatnio zmodyfikowano 2013-12-09 23:58
Autor Wiadomość
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.




C/C++
#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;
}
P-98857
OSA_PL
» 2013-12-09 23:19:30
Strzelam, że przekraczasz rozmiar tablicy.
P-98858
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 :)
C/C++
#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 ]
P-98860
« 1 »
  Strona 1 z 1