Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Как отследить запись в файл |
Автор: victoria1 6.9.2012, 14:18 |
Имеется крупный и сложный код под win (более 500 файлов в исходниках). Результат работы этой программы пишется в файл в домашнюю директорию запустившего пользователя, в папку application data. и этот путь записи где-то прописан в коде программы, не в каких-либо конфигфайлах. как найти, отследить место в коде где устанавливается папка записи? Поиском ключевых слов вроде application data и др. во всех файлах исходника это сделать не удалось. Найти это нужно с целью изменить папку записи на папку из которой запускается программа. |
Автор: math64 6.9.2012, 14:50 |
Там где пишется должно быть что-то подобное: [f]open - открытие файла; [f]write или fprintf или out << запись в файл; [f]close - закрытие файла. Но имя файла может задаваться где-нибудь с совершенно другом месте, например в readConfig(); |
Автор: victoria1 6.9.2012, 15:32 | ||
Программа консольная и работает без установки. И похоже что не использует реестр. На любой машине без установки работает. состоит из одного exe файла. |
Автор: bsa 6.9.2012, 15:49 |
На каком основании сделан такой вывод? Добавлено через 11 минут и 45 секунд Кстати. Мы тебе не сможем больше ничего полезного подсказать. Найди место записи в файл (если файл текстовый, то ищи по фразам, что программа туда пишет), а затем место создания этого файла. больше ничем не можем быть тебе полезными. |
Автор: victoria1 6.9.2012, 18:15 | ||
Нашлось! Там путь формируется на основе:
Но сразу возник вопрос, а в какой переменной окружения windows содержится путь исполняемого через консоль файла? т.е. аналог pwd unix. как этот путь указать? |
Автор: bsa 6.9.2012, 19:56 |
изучай GetModuleFileName() |
Автор: bems 7.9.2012, 13:25 |
lpCmdLine из WinMain начинается с имени файла |
Автор: victoria1 8.9.2012, 14:43 |
Всем спасибо. |