0
我現在正在爲一個服務器應用程序上學。目前,我試圖打破一個commandLine條目,它應該被讀入四個獨立的const char *。將單獨的命令行分成不同的const char *
int state = 0;
char *token = std::strtok(commandLine, " ");
while(token != NULL)
{
switch(state)
{
case 0: c = token; break;
case 1: u = token; break;
case 2: p = token;break;
case 3: a = token; break;
}
token = std::strtok(NULL, " ");
state++;
}
const char* command = c.c_str();
const char* user = u.c_str();
const char* password = p.c_str();
const char* args = a.c_str();
我意識到這不是很好的優化;我一直在嘗試很多不同的解決方案,因爲我一直在嘗試的所有東西都導致了seg故障。感謝您的幫助!
解析命令行是一個解決的問題:http://www.boost.org/doc/libs/1_64_0/doc/html/program_options.html –
對不起,對於這個項目我不允許使用boost。否則這會更容易。 –
歡迎來到Stack Overflow。請花時間瀏覽[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)上的內容,瞭解什麼和你怎麼可以在這裏問。發佈[mcve]特別重要。 –