我正在寫在C函數/方法是應該做到以下幾點:指針和字符串處理
/** *臨危的論點和副本列表中CONFFILE名稱 *的配置文件。 *如果使用默認文件名 ,則返回1;如果*參數-f存在,則返回2,因此使用 指定名稱。如果有-f *參數 但返回0則無效。 (最後一個參數)
*/
基本上這兩個選項中的一個將是 「詢問」 由程序:
1-控制器-f FCFS | LOOK
2-控制器FCFS | LOOK
如果第二個被問到,我們輸入使用默認名稱的情況。
int get_conf_name(char* argv[], char* conffile) {
// Searches for -f
s = strstr(*argv, "-f");
if(s != NULL){
if(//its valid){
strcpy(conffile, //the name of the file which comes after -f
return 2
}
else return 0
}
else{
strcpy(confile, "config.vss")
return 1
}
}
這裏的問題是如何獲得-f後的單詞並將其複製到confile中?而且,我可以像訪問conffile一樣訪問argv,因爲其中一個是數組? 我想過使用for循環和strlen,但那會是很多不必要的工作,對於電腦來說不是嗎?
這不是'strstr'的工作方式。 'strstr'在另一個字符串(乾草堆)中查找子字符串(針)。你想要的是在字符串數組中尋找整個字符串。你應該使用一個循環。 –
順便說一句:選項是「傳遞給」(而不是「由」)的程序。除非你指的是調用者程序。 –
@Giulio Franco哦謝謝:D通過問我的意思有兩種可能的選項供用戶詢問程序 – BVCGAAV