![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
ptr, т.е. получается что fscanf(fp,"[item %d]\n",&id); будет искать строчку [item ]? Если да, то это очень облегчит задачу))
новый код:
всеравно не работает ID становится = 0 З.Ы.: И как всё-таки сделать вывод слов дальше пробела? Например выводится "name=Sandstalker" вместо "name=Sandstalker Gauntlets"... |
|||
|
||||
| ptr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 1 Всего: 14 |
Здесь у тебя st="[item" (см. ниже). Поэтому id как был 0, так им и остался.
В st заносится всё до пробела, поэтому и выводится так. Читай из файла всю строку полностью. -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||
|
|||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
Глупый вопрос, но... как?
Вообще извините за такие вопросы но я очень хочу освоить работу с файлами на 100% |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
считать всю строку?
компилятор BCBuilder 6.0 -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
а если на Visual C++ 7.0...
|
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
проморгал что читать из файла.
на 2005.
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 1 Всего: 14 |
Если для C и под Linux, то там есть функция getline(). Под windows я подобной функции не припомню. Можешь, например, использовать функцию для чтения строк (память потом надо чистить):
Это сообщение отредактировал(а) ptr - 9.7.2006, 07:54 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
ptr спасибо... теперь правда у меня слова обрезаются некоторые )) и выводится та часть слова которая после пробела ))
не мог бы ты уже на моём коде показать как это всё должно работать, чтобы я наконец понял в чём проблема... все комменты есть )
|
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
=) ReGeDiT, дай содержимое файла log.log или еще какого там и напиши точно что эта программа делает. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| ReGeDiT |
|
||||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
=)
log.log :
новый код :
проблема в :
должно быть как
и IN = 0 никак не определит [item ID] ... всеравно 0... т.е. в идеале всё должно быть как
то что в items.scp >>
ух много я напесал ^^ Это сообщение отредактировал(а) ReGeDiT - 10.7.2006, 13:32 |
||||||||||||
|
|||||||||||||
| ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 1 Всего: 14 |
Я немного поправил твою программу (исправил ошибки, да немного упростил). Кривовато конечно получилось, но для примера сойдёт. Теперь, вроде, всё считывается и выводится нормально.
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
ptr, все комменты на арабском
З.Ы. а не мог ли бы ты исправить конкретно в моей программе (пост выше)... а то мне очень долго разбирацо в твоей ибо код написан в очень сложной манере... но спасибо всеравно )) Добавлено @ 16:33 если это ");// ñ÷èòûâàíèå ïåðâîé ñòðîêè #include scripts/extra/items_LF.scp" переводится как "что такое #include scripts/extra/items_LF.scp" то это значит, что проверяемый файл также должен включать в себя другой файл... т.е. неплохо было-бы его подгрузить ))) но как это сделать я пока не задумывался |
|||
|
||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
и почемуто у меня если в любое время делать
переменная = getline(fp); то программа выводит в логе полную чушь, прямо мистика |
|||
|
||||
| ReGeDiT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 4.7.2006 Где: Пущино на Оке Репутация: нет Всего: нет |
ыыы сорри снова... ptr а зачем ты в своём коде сделал ошибку? спецово? =) защита от дурака?
|
|||
|
||||
| ptr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 1 Всего: 14 |
Что за ошибка? У меня всё нормально работает. getline() считывает из файла всю строку полностью, при этом выделяет память под неё (читай всё getline, fscanf здесь вообще не нужен). После использования строки делай free(). Что за чушь то? Ну что-то же я с этой строкой делать то должен был. Ты это о чём? Ну не знаю что ты сложного нашёл. Вот твой код:
Это сообщение отредактировал(а) ptr - 11.7.2006, 09:07 -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |