我被困在一件相當平凡的事情中...... 所以,基本上我想要第一個和最後一個之間的「單詞」去數據和最後一個去鍵。從字符串獲得元素
僅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'分配內存。現在你正在附加一個空指針。 –