我在分割字符串和正确使用函数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, " ");
然而,这会得到命令,关键,但只有数据的第一个字。我怎么能改变这个,所以它做我想要的?谢谢!
答案 0 :(得分:3)
您需要更改上次调用strtok
的分隔符:
char *data = strtok(NULL, "\n");