在C++中,可以使用getopt
或者手動解析argv
參數來識別引號內的參數。以下是一個簡單的示例代碼,展示了如何手動解析argv
參數中的引號內參數:
#include <iostream>
int main(int argc, char *argv[]) {
for (int i = 1; i < argc; i++) {
std::string arg = argv[i];
// 如果參數以引號開頭
if (arg[0] == '"') {
int j = i;
std::string combinedArg = arg.substr(1);
// 一直讀取直到找到以引號結尾的參數
while (j < argc) {
if (argv[j][strlen(argv[j]) - 1] == '"') {
combinedArg += " ";
combinedArg += argv[j];
break;
} else {
combinedArg += " ";
combinedArg += argv[j];
}
j++;
}
std::cout << "Combined argument: " << combinedArg << std::endl;
i = j; // 更新i的值
}
}
return 0;
}
在這個示例代碼中,我們先判斷參數是否以引號開頭,如果是的話就一直讀取參數直到找到以引號結尾的參數。然后將這些參數組合起來并輸出。這樣就可以識別引號內的參數了。