1 / 1 / 0
Регистрация: 03.11.2019
Сообщений: 42
|
||||||
1 | ||||||
Работа с файлами13.11.2020, 15:21. Показов 1167. Ответов 3
Метки нет (Все метки)
Здравствуйте! Требуется помощь знатоков. Написал программу по выводу текста из файла в консоль. НО!!! Почему то у меня первый символ, который лежит в текстовом документе просто не выводится.
К примеру... у меня в текстовом файле записать [Hello world!], но в консоли выводит [ello world!] Не могу понять эту проблему в функции vivodKonsol
Хм, а если поставить пробел перед [_Hello] (_ - это пробел), то программа считывает слово целиком
0
|
13.11.2020, 15:21 | |
Ответы с готовыми решениями:
3
Работа с файлами , хотелось бы с windows system файлами Лабораторная работа №5. Работа с файлами и алгоритмы сортировки Работа с файлами(Запись,чтение,работа с данными) Работа с файлами, чтение/работа со строкой |
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
|
|
13.11.2020, 15:58 | 2 |
Потому что вы функцией fgetc считываете первый символ, переставляя тем самым указатель на текущую позицию в файле, а затем читаете всю строку функцией fscanf, естественно первый символ уже не будет помещен в эту строку. И вообще организация чтения файла в функции vivodKonsol, глупая. Так файл не читают
Добавлено через 6 минут И ещё, функция fscanf с модификатором %s, читает до первого символа разделителя, которым в том числе является пробел тоже, соотвественно читается у вас не вся строка за один раз, а одно слово
0
|
1 / 1 / 0
Регистрация: 03.11.2019
Сообщений: 42
|
|
13.11.2020, 16:06 [ТС] | 3 |
Vadim Borisov, Спасибо, что сказали про функцию fgetc. Забыл, что после выполнения указатель смещается.
По поводу не правильно вывода... я пока разбираюсь в языке. У меня задание вывести данные используя stdout. Такой пример вывода показал мне преподаватель, поэтому я решил пока использовать его и не стал искать более коректный. Но если вы про это упомянули, можете предложить свой пример вывода, может он реально проще
0
|
136 / 90 / 48
Регистрация: 16.08.2016
Сообщений: 362
|
||||||
13.11.2020, 16:38 | 4 | |||||
Сообщение было отмечено Diknurz как решение
Решение
Попробуйте так
И перед system("pause"); добавьте putchar('\n');
0
|
13.11.2020, 16:38 | |
13.11.2020, 16:38 | |
Помогаю со студенческими работами здесь
4
Работа с файлами Работа с файлами работа с файлами Работа с файлами!!! Работа с файлами Работа с файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |