在C中拆分字符串时遇到问题

时间:2015-10-23 13:59:36

标签: c

我在分割字符串和正确使用函数strtok时遇到了麻烦:

这是我的问题:

我是从stdin读取的,我想按以下方式分割输入:

<command> <key> <data>

&#34; PUT 122gyhbhb在分割字符串和正确使用函数条带时遇到问题:&#34;

第一个字(PUT)是命令,第二个是键,其他字直到输入结束为数据。

这是我到目前为止所做的事情:

char *buffer = (char *) malloc(sizeof(char) * 2048); 

fgets(buffer,2048, stdin);

char *options = strtok(buffer, " ");

char *key = strtok(NULL," ");
char *data = strtok(NULL, " ");

然而,这会得到命令,关键,但只有数据的第一个字。我怎么能改变这个,所以它做我想要的?谢谢!

1 个答案:

答案 0 :(得分:3)

您需要更改上次调用strtok的分隔符:

char *data = strtok(NULL, "\n");