繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM