Программа для редактирования тектового файла - C (СИ)
Формулировка задачи:
Задаяа состоит в следуюшем : открыть файл записать туда текст закрыть файл поменять слова в тексте местами вывести измененый файл.
вот один из вариантов выполнения
проблеза заключаеться в том что он не выводит измененый файл. И вообще ничего не выводит. Помогите пожалуйста.
#include <stdio.h> #include <string.h> #include <stdlib.h> void main(){ FILE *f; char *res ; char str,*buf[10000]; int i=1,q,a=0; while (a!=3) { clrscr(); printf ("1.ввод файла \n"); printf ("2.просмотр изменненого файла \n"); printf ("3.выход \n"); scanf("%d",&a); switch(a){ case 1 : while((str=getchar()) != '0'){ f=fopen("c:/a.txt","wt"); if (f==0){ puts("Error"); return 1;} fprintf (f,"%s",str); fclose(f); res=strtok(str," "); buf[0]=res; } while (res != NULL){ res=strtok(NULL," "); buf[i] = res; i++; } break; case 2: q=i; f=fopen("c:/a.txt", "wt") ; for (i=q-2;i>=0;i--) printf("%s",buf[i]); fclose(f); break; case 3:printf("Poka");break; } getch(); } }
Решение задачи: «Программа для редактирования тектового файла»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> int main(){ setlocale(LC_ALL,".1251"); FILE *f; char str=0; while(1){ system("cls"); printf ("1.ввод файла \n"); printf ("2.просмотр изменненого файла \n"); printf ("3.выход \n"); scanf("%c",&str); switch(str){ case 49 : if(!(f=fopen("c:/a.txt","w"))){ puts("Error"); return 1; } while((str=getche()) != 13) fprintf (f,"%c",str); fprintf (f,"%c",(str=0)); fclose(f); break; case 50: if(!(f=fopen("c:/a.txt","r"))){ puts("Error"); return 1; } do{ fscanf(f,"%c",&str); printf("%c",str); }while(str!=0); fclose(f); printf("\n"); system("pause"); break; case 51: printf("пока \n"); system("pause"); return 0; } } }
Объяснение кода листинга программы
- В начале программы подключаются необходимые библиотеки для работы с файлами и консолью.
- Устанавливается локальная настройка на русскую локализацию.
- В основной функции программы, при помощи цикла while(1), происходит циклическое выполнение программы, пока пользователь не выберет пункт 3.
- При выборе пункта 1 происходит открытие файла
c:/a.txt
в режиме записиw
. Если файл не может быть открыт, выводится сообщение об ошибке и программа завершается. - В случае успешного открытия файла, происходит запись всех символов, вводимых пользователем, в файл
c:/a.txt
. - При выборе пункта 2 происходит открытие файла
c:/a.txt
в режиме чтенияr
. Если файл не может быть открыт, выводится сообщение об ошибке и программа завершается. - В случае успешного открытия файла, происходит чтение всех символов из файла
c:/a.txt
и их вывод на экран. - При выборе пункта 3 программа завершается, закрывая все открытые файлы.
- В случае выбора неправильного пункта меню, программа продолжает работу, игнорируя неправильный выбор.
- В конце программы происходит закрытие всех открытых файлов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д