2009-11-17 174 views
2

我試圖在Visual Studio中添加我的文件作爲命令行參數。我知道我的代碼起作用,因爲當我使用fopen(「整個路徑在這裏」,「r」),它運行。然後,我將該文件添加爲命令行參數,而不是我得到這樣的文件或目錄。有什麼想法嗎?謝謝。命令行參數

回答

3

有你的文件路徑空間嗎?如果是這樣,你需要用引號括起來。

0

您可以隨時在Visual Studio中調試從命令行獲得的文件名,然後您就知道錯在哪裏了。

+0

是你應該把無論是在命令行參數報價在Visual Studio或那些已經在命令行上被引用FOPEN? 例如fopen(argv [1],「r」) – jet 2009-11-17 08:52:02

+0

您必須將引號放入Visual Studio中的命令行參數中 – 2009-11-17 09:20:00

0

您確定命令行參數處理正確嗎?暫時用這個替換你的main():

int 
main (int argc, char **argv) 
{ 
    int j; 
    for (j = 0; j < argc; ++j) 
     printf ("argv [%d] = '%s'\n", j, argv [j]); 
    return 0; 
} 

我的猜測是你的文件路徑中有空格。

C:\> myprogram "c:\Documents and Settings\Administrator\My Documents\Test.dat" 

如果這是不帶引號的,測試程序將輸出:

argv [0] = 'myprogram.exe' 
argv [1] = 'c:\Documents' 
argv [2] = 'and' 
argv [3] = 'Settings\Administrator\My' 
argv [4] = 'Documents\Test.dat'