Удаление из файла всех пробелов - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы