Файл: Преобразовать файл, удалив в каждой его строке первый символ - C (СИ)
Формулировка задачи:
Не могу понять, через какой цикл нужно работать. Мне нужно организовать текстовый файл, состоящий из N строк, потом преобразовать файл, удалив в каждой его строке первый символ, а изменения вывести в другой файл.
Вот начало проги, а дальше я не понимаю...:
#include <stdio.h>
#include <conio.h>
int main(void){
char ch; FILE *f_in, *f_out;
char str[] = "D:\\laba.txt"; // Файл записи
char str2[] = "D:\\laba2.txt";// Файл перезаписи
if ((f_in = fopen(str, "w")) == NULL){
printf("\n\t The file could not be opened.\n ");
printf("\n Press any key: ");
getch(); return 0;}
printf("\n Enter the characters by pressing Enter and exit point:\n ");
while ((ch = getchar()) != '.')
{ printf(" "); fputc(ch, f_in);}
fclose(f_in);
if ((f_in = fopen(str, "r")) == NULL){
printf("\n\t The file could not be opened.\n ");
printf("\n Press any key: ");
getch(); return 0; }
if ((f_out = fopen(str2, "w")) == NULL){
printf("\n\t The file could not be opened.\n ");
printf("\n Press any key: ");
getch(); return 0;}
while((ch = getc(f_in)) != EOF) putc(ch, f_out);
fclose(f_in);
fclose(f_out);
printf("\n\n Result of record look in file %s\n", str);
printf(" Result of rewriting look in file %s\n", str2);
printf("\n Press any key: ");
getch();
return 0;
}Решение задачи: «Файл: Преобразовать файл, удалив в каждой его строке первый символ»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fin, *fout;
char s1[80], s2[80];
int N, x = 1, i, y;
printf("Input number strings:");
scanf(" %i", &N);
y = N;
fflush(stdin);
fin = fopen("input.txt", "w");
while(N > 0){
printf("Enter string %d:\n", x);
fgets(s1, 80, stdin);
fprintf(fin, "%s", s1);
--N;
x++;
}
fout = fopen("output.txt", "w");
fclose(fin);
fin = fopen("input.txt", "r");
for(i = 0; i < y; i++){
fgets(s1, 80, fin);
strcpy(s2, s1 + 1);
fprintf(fout, "%s", s2);
}
return 0;
}