Переписать числа файла, идущие подряд, в другой файл, причем записаны они должны быть в столбец - C (СИ)
Формулировка задачи:
У меня имеется текстовый файл с числами, записанными подряд. Нужно переписать эти числа в другой файл, причем записаны они должны быть в столбец. В строке определенное количество символов. задается отдельно.
вот что написала:
в независимости от размера задваемой строки он выдает одно и то же, столбец цифр вроде этого:
132
132
132
032
032
132
032
132
032
и т п
хотя в исходном одни 0 и 1
я в этом всем чайник. Помогите пожалуйста переделать.
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> #include<math.h> void main( ) { FILE *cht,*mas; int ch, n, i,e; clrscr (); if ((cht = fopen("G:\\in.txt","r")) == NULL) { fprintf(stdout, "Error opening file in.txt"); exit(1); } if ((mas = fopen("G:\\out.txt","w")) == NULL) { fprintf(stdout, "Error opening file out.txt"); exit(1); } printf("Dlina stroki: "); scanf("%d", &n); e = '\n'; while (feof(cht)==0) { for (i=0;i<=n;i++) { ch = fgets (cht); fputc (ch, mas); fprintf (mas, "%d\n",e); } } fclose(cht); fclose(mas); getch(); }
Решение задачи: «Переписать числа файла, идущие подряд, в другой файл, причем записаны они должны быть в столбец»
textual
Листинг программы
FILE *cht, *mas; int ch, n, i, e, flag = 1; if ((cht = fopen("in.txt", "r")) == NULL) { fprintf(stdout, "Error opening file in.txt"); exit(1); } if ((mas = fopen("out.txt", "w")) == NULL) { fprintf(stdout, "Error opening file out.txt"); exit(1); } printf("Dlina stroki: "); scanf("%d", &n); e = '\n'; while (1) { for (i = 0; i < n; i++) { ch = fgetc(cht); if(feof(cht)){ flag = 0; break;} fputc(ch, mas); } if(!flag){ break;} fputc(e, mas); } fclose(cht); fclose(mas); system("pause");
Объяснение кода листинга программы
Выполнение кода:
- Открывается файл
in.txt
для чтения и файлout.txt
для записи. - Запрашивается длина строки, которая будет записана в файл
out.txt
. - В цикле while считываются символы из файла
in.txt
и записываются в файлout.txt
. - Если достигается конец файла
in.txt
, то записывается символ новой строки в файлout.txt
. - После завершения чтения файла
in.txt
, файлы закрываются. - Выводится сообщение об успешном выполнении программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д