Чтение текста из файла и удаление файла - C (СИ)
Формулировка задачи:
Всем привет! помогите плз решить проблемку.
Написал прогу которая должна читать текст с клавиатуры, записывать его в файл
затем по запросу пользователя либо удалять файл при помощи функции remove
либо выводить содержимое файла на экран
вот моя прога:
проблемы следующие:
1)не работает удаление файла remove(st);
2)содержимое файла выводится на экран не полностью а только полторы строки... вообще непонятно почему
3) как проходит запись в файл? до паузы выполняю все действия - открываю файл на диске - и он ещё пуст, но после завершения программы - текст в файле появляется. получается что сначала всё скидывается в какой то поток и только перед закрытием читается из потока в файл, или как вообще происходит?
Жду ваший поправок и комментариев, Спасибо!
Листинг программы
- #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;
- }
Решение задачи: «Чтение текста из файла и удаление файла»
textual
Листинг программы
- while((ch=fgetc(st))!=EOF)
- {
- fputc(ch,stdout)
- }
Объяснение кода листинга программы
- В цикле while считывается каждый символ из файла с помощью функции fgetc до достижения конца файла (EOF).
- Каждый считанный символ записывается в файл стандартного вывода (stdout) с помощью функции fputc.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д