Удаление из файла всех пробелов - C (СИ)
Формулировка задачи:
В файле есть текст к примеру "Uznaesh ne poimesh" нужно вывести на экран и записать в файл удалив все пробелы "Uznaeshnepoimesh"
На экран я вывел этот текст а вот в файл никак не могу сохранить текст
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
char ch;
FILE *fd;
fd= fopen("text.txt","rt");
if (fd==NULL)
{
printf ("Файл не найден\n");
printf ("‹any key для выхода из програмы\n");
getch();
return;
}
printf ("Оригинальны текст\n");
ch=getc(fd);
while (ch!=EOF)
{
printf ("%c",ch);
ch=getc(fd);
}
fclose(fd);
printf ("\Измененный текст\n");
FILE *fi;
fi= fopen("text.txt","r+");
ch=getc(fi);
while (ch!=EOF)
{
if (ch!=' ')
printf ("%c",ch);
ch=getc(fi);
}
fclose (fi);
getch();
}Решение задачи: «Удаление из файла всех пробелов»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main() {
const char CFName[] = "text.txt";
char ch;
FILE* fi, * fo;
if ((fi = fopen(CFName, "r")) == NULL) {
perror(CFName);
return EXIT_FAILURE;
}
if ((fo = tmpfile()) == NULL) {
perror("tmpfile");
return EXIT_FAILURE;
}
while ((ch = fgetc(fi)) != EOF) {
if (ch != ' ') {
fputc(ch, fo);
}
}
fclose(fi);
fseek(fo, 0, SEEK_SET);
fi = fopen(CFName, "w");
while ((ch = fgetc(fo)) != EOF) {
fputc(ch, fi);
}
fclose(fi);
fclose(fo);
return EXIT_SUCCESS;
}