我正在尝试开发一个接受一行用户输入的 C 函数,例如这一行:
1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X
(编辑:这只是用户输入内容的任意示例。在实际程序中,他们可以输入 1 到 48 个数字字符对之间的任意位置。)
想法是用户将插入整行,并将其分成 9 个部分(每个数字和字符对是一个部分)。然后,数字和字符对也将相互拆分(我在考虑这部分,它们都属于包含 numValue 和 charValue 的结构)。
我可以使用什么来拆分用户的输入?我对 C 比较陌生。
最佳答案
可用于拆分用户输入字符串的函数是 strtok()
来自 #include <string.h>
图书馆。这是您可以用来将输入分成九个部分的示例。
#include <stdio.h>
#include <string.h>
main (){
char word[] ="1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X";
int i = 0;
char *p = strtok(word, " ");
char *array[9];
while (p != NULL){
array[i++] = p;
p = strtok(NULL, " ");
}
return 0;
}
您可以再次执行此操作以进一步拆分它。解释一下strtok
我要用这段代码解释吗:
strtok(word, " ");
. word
是要修改的字符串的内容," "
with 是字符串的分隔符。
关于c - 如何设置将用户输入拆分为多个部分并拆分那些较小部分的 C 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43747630/