Otwieranie i zapisywanie *.txt

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'.

1

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

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