Otwieranie i zapisywanie *.txt

2014-12-21 14:31
0

Czesc. Wpadlem na pomysl napisania programu ktory otworzy plik tekstowy i utworzy nowy. Nastepnie przefiltruje pierwszy plik "pod katem" liczb dziesietnych. To znaczy ze jezeli w pierwszym pliku znajdzie liczbe to zeby zapisal ta liczbe w nowym pliku. Oto kod:

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
    FILE *pl=NULL;
    //pl=fopen("test.txt","rt");
    FILE *pl2=NULL;
    pl2=fopen("test2.txt","wt");
    while((pl=fopen("test.txt","rt"))!=NULL)
    {
        c = fgetc (pl);
        while(c != EOF)
        {
        c = fgetc (pl);
        if(isdigit(c))
        putc(c,pl2);
        }
    }

    fclose(pl);
    fclose(pl2);
    pl=NULL;
    pl2=NULL;

    system("pause");
    return 0;
} 

Kod wydaje sie byc poprawny ale gdy pracuje na pliku ~5 KB to tworzy nowy plik prawie 1MB. Pytanie gdzie popelnilem blad. Zastanawialem sie jaka funkcja moglbym np zapisac do nowego pliku liczbe a po niej np znak spacji lub '\n'.

edytowany 1x, ostatnio: furious programming, 2014-12-21 14:47

Pozostało 580 znaków

2014-12-21 14:42
1

Plik się raz otwiera, a nie w pętli.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0