我有一个字符串数组cmd,容量为255 chars这样声明:
char cmd[255];
我使用fgets以这种方式获取用户输入:
fgets(cmd, 256, stdin);
我有三个独立的数组来存储三个令牌(假设用户只输入一个最多2个空格的字符串)这样声明:
char arg[20];
char arg2[20];
char arg3[20];
我用这样的方式用strtok拆分cmd中的字符串:
char *p = strtok(cmd, " ");
while (p!= NULL) {
// I want to store the tokens p in the arrays here (e.g:
// arg = p is not working
// arg2 = p ...
p = strtok(NULL, " ");
}
以这种方式指定指针中的值是行不通的 . 我能帮忙做点什么吗?
我必须将令牌存储在以null结尾的字符串中
3 回答
像这样:
sscanf版本 .
以下可能是有效的 .
建议:声明argv如下
通过这样做,它将简化如下代码: