Найти символы переноса строки в файле и заменить их на пробелы - 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
Листинг программы
с

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы