[英]Having trouble with splitting strings in C
我在分割字符串和正确使用函数strtok时遇到了麻烦:
这是我的问题:
我正在从stdin读取,我想按以下方式拆分输入:
<command> <key> <data>
“PUT 122gyhbhb在拆分字符串和正确使用函数条纹方面遇到了麻烦:”
第一个字(PUT)是命令,第二个是键,其他字直到输入结束为数据。
这是我到目前为止所做的:
char *buffer = (char *) malloc(sizeof(char) * 2048);
fgets(buffer,2048, stdin);
char *options = strtok(buffer, " ");
char *key = strtok(NULL," ");
char *data = strtok(NULL, " ");
然而,这给了我命令,关键,但只有数据的第一个字。 我怎么能改变这个,所以它做我想要的? 谢谢!
您需要更改最后一次调用strtok
的分隔符:
char *data = strtok(NULL, "\n");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.