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