1
char *str = malloc (14);
sprintf(str, "%s", "one|two|three");
char *token1, *token2, *token3;
char *start = str;
token1 = str;
char *end = strchr (str, '|');
str = end + 1;
end = '\0';
token2 = str;
end = strchr (str, '|');
str = end + 1;
end = '\0';
...
free(start);
是否可以正常工作,因爲我已經將str中的字節設置爲null以標記化它?c字符串標記化問題
這是一個很好的做法,爲malloc和free使用相同的變量名稱。在這種情況下,對malloc使用「start」,然後將「str」分配給「start」的值。 – selwyn 2009-09-25 15:11:29
啊,好吧,這是有道理的 – user105033 2009-09-25 15:21:59