![]() |
|
Модераторы: bsa |
![]()
|
|
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
spisok.txt
------------ test1 test2 test3 -------------
Печать: test3 test3 test3 Почему массив заполняется только последней строчкой из файла "spisok.txt" уже голому сломалO_o Как правильно читать построчно и записывать в массив? |
|||
|
||||
| opjox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
Потому, что в str[i] вы записываете адрес buf, а считываете вы все время только в buf. Вот, возможно, что вы хотели получить:
P.S. не забывайте освобождать ресурсы. |
|||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Да так читается, но криво_O
Например txt фаил с таким содержанием ----------- 1233454 3554654654 565644 5675454 5645 546545345 5654543 456545 -----------
Вот что получается на выходе --------- 1233454 :8 355465465:9 4 :2 565644 :7 5675454 :8 5645 :5 546545345:9 :1 5654543 :8 456545:6 --------- fscanf решила проблему Это сообщение отредактировал(а) eXa - 27.2.2008, 01:16 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
а как ты хотел прочитать строку из 10 символов в массив из 10 символов, у которого в конце еще завершающий ноль ставится (фактически размер массива - 9 символов)?
|
|||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Максимальное число символов в строчке 9, 10 это как раз для нуля. Только причём тут это? fscanf читает только до пробела в строчки=\ что делать? как читать с пробелами?
Это сообщение отредактировал(а) eXa - 29.2.2008, 17:52 |
|||
|
||||
| opjox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
Да, правда, в строке максимум у вас не 10, а все 11 символов:
3554654654 – тут десять + еще один на символ перехода на новую строку. Не забываем, что в программе нужен еще один для нуль-символа. |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
||||
|
||||
| eXa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
ступил =\
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |