Лишние символы при чтении из файла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Из переменной buffer элементы строки записываются в двумерный массив, а после выводятся. Но при выводе получаются лишние символы, в данном случае половину предыдущей строки. Можете подсказать в чем проблема? Спасибо.
file = fopen("c:\\1text.txt","r");
    while (!feof(file))                 
        {  
            fgets (buffer, M, file);
            printf("%s", buffer);
            for (j = 0; j < M; j++)
            {
                if(buffer[j]!='\n')
                ch[i][j] = buffer[j];
                else break;
            }
            i++;
        }
    fclose(file);
Исходный файл:
1234
Once I caught a fish alive
45678910
Then I let it go again
11121331
Результат
1234
Once I caught a fish alive
45678910
Then I let it go again
11121331at it go again
P.S. Как можно вывести массив ch построчно "%s" в консоль или в файл?

Решение задачи: «Лишние символы при чтении из файла»

textual
Листинг программы
 for (j = 0; j < strlen(buffer); j++)
 {
                if(buffer[j]!='\n')
...

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

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