Re: VS 2005. Ошибка командной строки
От: rivitna  
Дата: 27.01.09 08:49
Оценка:
Спасибо всем за понимание за ценные ответы, а также камрадам fortuna и VVP за столь высокие оценки!

И все же проблема в Visual Studio!!! А проблема "обратного слеша" лишь следствие, ведь cmd.exe тоже написан при помощи все того же Visual Studio.

После дизассемблирования все стало предельно ясно.
Это скорее не косяк, а подход команды Microsoft к разбору командной строки
Вся проблема в CRT-ной функции _parse_cmdline, вызываемой в __setargv, которая в свою очередь — в __tmainCRTStartup:

...
loc_4027F0:
inc   esi
inc   ecx

loc_4027F2:
cmp   byte ptr [esi],'\'
jz    short loc_4027F0
cmp   byte ptr [esi],'"'
jz    short loc_402822
...


В итоге, для решения данной проблемы лучше парсить ::GetCommandLine() самому.

PS: Лишний раз убедился, что обнищал RSDN, дельного давно уже ничего не слышал
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.