Переписать числа файла, идущие подряд, в другой файл, причем записаны они должны быть в столбец - 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
, файлы закрываются. - Выводится сообщение об успешном выполнении программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д