C char数组实现

时间:2014-11-09 17:51:23

标签: c arrays string string-literals

我尝试使用getline()函数获取用户输入。我存储输入并使用char *指针指向它。 现在我想在白色空格中分割字符串,如果有的话,但是我无法更改字符串文字。所以我的想法是将输入的副本传输到char数组,以便我可以随意使用它。唯一的问题是我还不知道用户输入的大小,所以我无法指定所需数组的大小。

任何想法如何解决这个问题,我可能遗漏了一些东西,我是Java背景下的C新手。

非常感谢!

2 个答案:

答案 0 :(得分:1)

您阅读该行,找出其大小,然后制作该大小的副本。

答案 1 :(得分:0)

如果存储具有某个函数getline的用户输入(C标准中没有这样的函数),则可以使用标题{{}中声明的标准C函数strtok将其拆分为标记。 1}}如果您不想更改原始字符串,则可以通过在字符串中搜索空白和非空字符来自行编写所需的函数。