![]() |
|
Модераторы: bsa |
![]()
|
|
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
Подскажите пожалуйста как надо правильно указать полный путь к файлу в програме в аргументе оpen. В книге по которой я учусь в примере указано такой формат пути
"D:\\1.txt" но он почемуто не работает. Проблема вот в чем. Если запустить прогу и указать "1.txt" соотвественно с скопированым файлом в папке с прогой она намертво зависает, окно не показывает, и ее процес забирает на себя всю работу процесора. Если прогу запустить под дебагом то выдает что файл не найден. Как надо правильно указать полный путь? --------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 2 Всего: 67 |
прога то сама что делает? ) проблема наверно в проге, а не в пути)
-------------------- СУВ, Partizan. |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Во-первых если запускаете под дебагом есть возможность, что текущая директория будет отличаться, смотря каким средством разработки пользуетесь и относительный путь не прокатит.
Желательно приложить исходный код программы. Честно не сильно сообразил. open - стандартная юниховая функция. |
|||
|
||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
это примитивный текстовый просмоторщик. Работаю в Visual Studio 2008 . Вот исходники
Это сообщение отредактировал(а) pycha - 9.8.2008, 07:19 Присоединённый файл ( Кол-во скачиваний: 11 )
WinRAR_archive.rar 4,03 Kb--------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
open - для открытия файла и связывания с обьектом ifstream
ну да, но чтобы открыла его под дебагом надо указать полный путь. Это сообщение отредактировал(а) pycha - 9.8.2008, 07:25 --------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
У меня лично все заработало, токо убрал MessageBox в строке 39 - обработчика событий. А так на каждое событие окна он вам показывает сообщение...
Под дебагом опять же смотря из какой директории запускается. У меня при настройках по умолчанию в ВС 2008 запускается из папк Это сообщение отредактировал(а) cutwater - 9.8.2008, 11:19 |
|||
|
||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
Этот мессажбокс я вставил для того чтобы посмотреть вызывается ли хоть бы чтото. У меня не вызывается. С чем это может быть связано?
--------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
*deleted*
Это сообщение отредактировал(а) cutwater - 9.8.2008, 22:06 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 2 Всего: 67 |
cutwater, написал же человек, что работает в VS 2008
-------------------- СУВ, Partizan. |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
сори, незаметил
|
|||
|
||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
Я нашол частичное решение проблемы . Я запустил прогу , в исходниках везде разпихал брекпоинты . Приатачился к процесу проги в окне Debag. Брекпоинт сработал в проверке конца файла . Оно не выходит из цыкла поиска конца файла пока не выкидывает. Окно "microsoft debag libery" . Я сделал другой файлик Запустил прогу - работает. Начал думать в чем разница и увидел что в первом файлике было больше одной строки. Во втором одна строка, с ней работает все как надо. Вот сами посмотрите. Как бы это исправить?
Это сообщение отредактировал(а) pycha - 9.8.2008, 23:03 Присоединённый файл ( Кол-во скачиваний: 4 )
WinRAR_ZIP_archive.zip 0,24 Kb--------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| cutwater |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Теперь я таки внимательней рассмотрел ваш механизм считывания файла. Он вкорне не верен.
Вы тут намешали как текстовый так и бинарный режимы. Во первых вы файл открываете в тектовом режиме по умолчанию раз.
О методе get вы тоже не читали. Работает он как - считывает count-1 символов и последним добавляет нуль завершитель до символа разделителя, коим по умолчанию является \n то есть считав одну строку дальше он вам читать не будет. ибо в потоке идет символ разделитель. Поехали дальше. Вы руками обнуляете последний символ, опять же если бы get его за вас не ставил, толку от этого не было. потому что считаться может меньше чем 199 символов в конце файла например, и дальше Вы получите мусор. Теперь о том как правильно. Вы храните массив строк, поэтому на мой взгляд самым оптимальным решением будет следующее:
Закрывать поток нужно тоже не забывать ЗЫ. Все остальное не смотрел, ошибки не проверял, ибо времени нет. Будут вопросы, обращайтесь Это сообщение отредактировал(а) cutwater - 10.8.2008, 14:18 |
||||
|
|||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
Я это переписывал с книги " Win32 API. Эффективная разработка приложений" думал что раз написано в книге , то все должно работать коректно. Во всяком случае спасибо.
Это сообщение отредактировал(а) pycha - 10.8.2008, 20:41 --------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| pycha |
|
|||
![]() главный анастазиолог ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 20.6.2008 Где: Украина Репутация: 1 Всего: 13 |
твой способ работает . Спасибо!
--------------------
ищу хакера со знанием компьютера длятехкт |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
Судя по примеру - выкидывать книжку.
А вообще если для начинающего советую читать Петзольд, затем Румянцева и Рихтера для изучения Win32 и не забывать о MSDN |
|||
|
||||
![]()
|
| Правила форума "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. |