В Visual Studio 2010 С++ я читаю argv[0], чтобы получить рабочий каталог.
В режиме отладки он определенно показывает полный путь к каталогу и имя самого исполняемого файла (как и ожидалось)
В режиме выпуска он имеет ТОЛЬКО имя программы .exe, а не полный рабочий путь.
- Зачем?
- Как получить рабочий каталог?
whatever
указывает на строковый литерал длины0
вместо стека или выделенного в куче буфера длиной не менее4096
. Следовательно, то, что происходит, когдаGetModuleFileName()
пытается записать в буфер, некрасиво. - person Frédéric Hamidi   schedule 19.03.2012argv
(в вашем вопросе через редактирование), так как это довольно фундаментальное недоразумение, возможно, там было что-то подобное. - person Steve Townsend   schedule 19.03.2012