我试图通过白色来解析scanf()中的用户输入。我想将每个字符串分开,因为我将在UNIX中将它们作为命令使用。
输入示例:ls -l
预期输出:
This is a command ls
This is a parameter -l
这就是我到目前为止所取得的成就。
int main() {
char input[100];
do{
scanf("%s", input);
char *token = strtok(input, " ");
while (token != NULL){
token = strtok(NULL, " ");
}
printf("This is the command %s ", input);
//printf("This is a parameter %s ", input[1]);This isn't C programming language but I'm unsure of how to do this.
//system(input); does not work, here for context.
}while(1);
}
电流输出:这是指挥官你好这是指挥官
如何用空格将字符串与用户输入的字符串分开,并使用
1条答案
按热度按时间2skhul331#
while (token != NULL){ token = strtok(NULL, " "); }
只需在strtok调用之前在此循环中添加using即可。
如果你要使用这段代码,我建议你阅读getopt函数https://man7.org/linux/man-pages/man3/getopt.3.html