我被困在一件相当平凡的事情中...... 所以,基本上我想要第一个和最后一个之间的“单词”去数据和最后一个去键。从字符串获得元素
仅C-POSIX,请。
strtok_r是要走的路吗,还是我在这方面呢?还有别的吗?
char *key = NULL, *data=NULL, *save=NULL;
char comando[1024];
fgets(comando, 512, stdin);
strtok_r(comando, " ",&save);
while(strcmp(save,"\n")){
strcat(data,strtok_r(NULL," ",&save));
}
key = strtok_r(NULL, "\n",&save);
P.S:comando是1024作为内存不是问题,并且比抱歉更安全。 fgets读取512',因为这是标准unix终端上的字符行限制。
您是否尝试过调试?也许会打印一些输出,比如每次调用'strtok_r()'后''指向'' – gnobal
'我认为使用'strtok_r'没问题......或者是什么地方出错了? – PhillipD
您需要为'data'和'key'分配内存。现在你正在附加一个空指针。 –