我運行下面的代碼(在Windows 7中,如果有差別):系統功能似乎忽略引號
char temp[20000];
sprintf_s(temp, 20000, "\"C:\\Program Files\\Mozilla Firefox\\firefox.exe\" \"http://www.tvtak.com/servlet/Gateway/?C=addShows&channel=%s&show=%s\"", _channels[chId], name);
system(temp);
在運行時,控制檯顯示:
「 C:\ Program'不被識別爲 內部或外部命令,可操作 程序或批處理文件。
'channel'不被識別爲內部命令或 外部命令,可操作程序或 批處理文件。
'show'不被識別爲 作爲內部或外部命令, 可操作的程序或批處理文件。
但是,當我通過QuickWatch獲得'temp'的值並將其粘貼到CMD時,它工作正常。這裏發生了什麼?
我應該提到我追加到字符串的參數包含非拉丁字符。這可能與它有關嗎?
對於CreateProcess()建議+1 – 2010-11-22 10:10:20