Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. - C (СИ)
Формулировка задачи:
День добрый. Посмотрите что я неправильно делаю:
Задание: Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить файл без изменений.
#include <stdio.h> #include<conio.h> void main() { FILE *f; int i,k; char s[256]; clrscr(); f=fopen("C:\\lab.txt","r+"); for(i=0;i<10;i++) { fprintf(f,"%d stroka \n",i+1); } puts("vvedite K: "); scanf("%d",&k); fseek(f,0,0); for(i=0;fgets(s,256,f) ;i++ ) { if ((i+1)==k) { fprintf(f,"\n"); } } fseek(f,0,0); for(i=0;i<11;i++) { fgets(s,256,f); puts(s); } fclose(f); getch(); }
Решение задачи: «Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K.»
textual
Листинг программы
#include <stdio.h> #include <conio.h> int main() { FILE *ftext, *fnum, *fres; char buf, num=0; ftext = fopen("C:\\text.txt","r+"); fnum = fopen("C:\\number.txt","r+"); fres = fopen("C:\\res.txt","w+"); if(ftext == NULL || fnum == NULL) {perror("error"); getch(); return 1;} fseek (ftext, 0, SEEK_SET); fseek (fnum, 0, SEEK_SET); buf = fgetc (ftext); do { if ( buf == '\n' ) { num = fgetc(fnum); if (num != EOF) fputc(num,fres); } fputc(buf,fres); buf = fgetc (ftext); } while ( !feof(ftext) ); fclose(ftext); fclose(fnum); fclose(fres); getch(); }
Объяснение кода листинга программы
В этом коде используется язык программирования C для чтения двух текстовых файлов и записи их содержимого в третий файл. Вот список действий, которые выполняются в этом коде:
- Открываются три файла:
text.txt
,number.txt
иres.txt
. - Проверяется, открылись ли файлы успешно. Если нет, выводится сообщение об ошибке и программа закрывается.
- Устанавливается позиция чтения в начало каждого файла.
- В цикле до тех пор, пока не достигнут конец первого файла, считывается содержимое каждого файла.
- Если считанный символ из первого файла является символом новой строки, считывается следующее число из второго файла.
- Число записывается в третий файл.
- Считанный символ из первого файла записывается в третий файл.
- Файлы закрываются после завершения чтения.
- Ожидается нажатие клавиши для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д