Чтение текста из файла и удаление файла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет! помогите плз решить проблемку. Написал прогу которая должна читать текст с клавиатуры, записывать его в файл затем по запросу пользователя либо удалять файл при помощи функции remove либо выводить содержимое файла на экран вот моя прога:
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<windows.h>
#include<string.h>
 
int main()
{
    system("chcp 1251 > nul");
    setlocale(0,"");
    FILE *st;
    char str[80], y, ch;
    if((st=fopen("Стирание.txt","w+"))==NULL)
    {
        printf("ошибка открытия файла");
        exit(1);
    }
    printf("для выхода введите пустую строку\n");
    do{
    gets(str);
    strcat(str,"\n");   
    fputs(str,st);
    } while(*str!=' ');
    system("pause");
    printf("\nУдалить ли содержимое файла перед выходом? Y/N ");
    scanf("%c",&y);
    if(toupper(y)=='Y') remove(st);
    rewind(st);
    
//Выводим содержимое файла на экран
    
    while((ch=fgetc(st))!=EOF)
    {
        fputc(ch,stdout);
    }
    fclose(st);
    return 0;
}
проблемы следующие: 1)не работает удаление файла remove(st); 2)содержимое файла выводится на экран не полностью а только полторы строки... вообще непонятно почему 3) как проходит запись в файл? до паузы выполняю все действия - открываю файл на диске - и он ещё пуст, но после завершения программы - текст в файле появляется. получается что сначала всё скидывается в какой то поток и только перед закрытием читается из потока в файл, или как вообще происходит? Жду ваший поправок и комментариев, Спасибо!

Решение задачи: «Чтение текста из файла и удаление файла»

textual
Листинг программы
 while((ch=fgetc(st))!=EOF)
    {
        fputc(ch,stdout)
}

Объяснение кода листинга программы

  1. В цикле while считывается каждый символ из файла с помощью функции fgetc до достижения конца файла (EOF).
  2. Каждый считанный символ записывается в файл стандартного вывода (stdout) с помощью функции fputc.

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


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

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

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