Найти символы переноса строки в файле и заменить их на пробелы - C (СИ)
Формулировка задачи:
Считываю байты из файла, нахожу символ переноса строки и заменяю его на пробелы, когда заношу всё в другой файл out.txt то отображается какая-то фигня. Как можно исправить?
#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <string.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int size, result; FILE *out = fopen("out.txt","wb"); FILE *in = fopen("in.txt","rb"); if(in==NULL) {printf("Создайте файл in.txt\n"); exit(1);} /*Посчитали сколько нужно будет байт*/ fseek (in, 0, SEEK_END); size = ftell(in); fseek (in, 0, SEEK_SET);//вернулись в начало /*Выделили память под заполнение*/ char *b = (char *)malloc(size); if(b==NULL) exit(1); /*Считали всё из файла*/ result = fread(b,1,size,in); if(result!=size) {printf("Возникла ошибка\n"); exit(1);} int i; for(i=0; i<size; i++, b++) { if(*b==13&&*(b+1)==10) {*b=32; *(b+1)=32;} printf("%c", *b); } fwrite(b, 1, size, out); printf("\n"); return 1; }
Решение задачи: «Найти символы переноса строки в файле и заменить их на пробелы»
textual
Листинг программы
с
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д