如何设置一个C函数,将用户输入分成多个部分,还拆分那些较小的部分?

我正在尝试开发一个带有一行用户输入的C函数,例如这一行:

1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X 

(编辑:这只是用户将输入的任意示例。在实际程序中,他们可以输入1到48个数字字符对之间的任何位置。)

想法是用户将插入整行,并将其分成9个部分(每个数字和字符对是一部分)。 然后,数字和字符对也将彼此分开(我正在考虑这部分,它们都属于包含numValue和charValue的结构)。

我可以用什么来分割用户的输入? 我对C.比较新。

可以用来从用户分割输入字符串的函数是来自#include 库的strtok() 。 下面是一个示例,您可以使用它将输入分成九个部分。

 #include  #include  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是要修改的字符串的内容, " "是字符串的分隔符。