2017-06-27 22 views
-1

argv[0]是Netbeans中帶有擴展名的文件的完整路徑,但是當相同的代碼片段在Sublime Text中運行時,它會爲輸出提供正斜槓並且不帶文件擴展名。在Sublime文本中更改argv [0]

printf("%s\n",argv[0]); 

輸出Netbeans中:

F:\Projects\C\Xnet\Xnet/StartX 

爲什麼:在崇高的文本

F:\Projects\C\Xnet\Xnet\dist\Debug\MinGW-Windows\StartX.exe 

輸出?如何在Sublime Text中更改此值以獲得與Netbeans中相同的結果?

+5

爲什麼不呢?兩者都是有效的。它取決於啓動程序來設置'argv [0]'的代碼。唯一的問題是你的期望。你所期望的並非不合理,但事實並非如此。 –

+1

爲什麼它是一個問題?你想用它做什麼?沒有'argv [0]'的標準,只有約定。 – Boiethios

+0

@Boiethios它應該是「F:\ Projects \ C \ Xnet \ Xnet \ StartX」而不是「F:\ Projects \ C \ Xnet \ Xnet/StartX」。爲什麼在文件名前面加斜槓?崇高的文字是否正常? –

回答

0

最後,我想我有一些線索。我改變了崇高文本中的構建系統選項。

{ 
"cmd" : "gcc $file_name -o ${file_base_name}", 
"selector" : "source.c", 
"shell" : true, 
"working_dir" : "$file_path", 
"variants": 
    [ 
    { 
     "name": "Run", 
     "cmd": "${file_base_name}.exe" 
    } 
    ] 
} 

現在的argv [0]僅返回擴展名(文件名.exe)文件名

+0

不要把線索放在那裏,但只有完整的有效答案。看起來''變種''中的''cmd''是你問題的關鍵:一旦你發現如何修改它以符合你的目的,請張貼你的答案和解釋。 – Boiethios

+0

@Boiethios我不知道如何將'//'追加到$ file_path。我不熟悉這個... –