我尝试使用getline()函数获取用户输入。我存储输入并使用char *指针指向它。 现在我想在白色空格中分割字符串,如果有的话,但是我无法更改字符串文字。所以我的想法是将输入的副本传输到char数组,以便我可以随意使用它。唯一的问题是我还不知道用户输入的大小,所以我无法指定所需数组的大小。
任何想法如何解决这个问题,我可能遗漏了一些东西,我是Java背景下的C新手。
非常感谢!
答案 0 :(得分:1)
您阅读该行,找出其大小,然后制作该大小的副本。
答案 1 :(得分:0)
如果存储具有某个函数getline
的用户输入(C标准中没有这样的函数),则可以使用标题{{}中声明的标准C函数strtok
将其拆分为标记。 1}}如果您不想更改原始字符串,则可以通过在字符串中搜索空白和非空字符来自行编写所需的函数。