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

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

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

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

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

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

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


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

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

12   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы