[英]How to split a const char *?
我有一個const char*
,它表示我想將其拆分為字符/
處的字符串數組的路徑,因此我可以逐步進行搜索。
我試着做
char* str2 = strtok(str1,"/")
但我的編譯器返回一個
警告:初始化從指針目標類型中丟棄“const”限定符
如何在沒有任何警告的情況下進行拆分?
strtok(3)
和strtok_r(3)
就地改變字符串,從而阻止您傳遞 const 字符串。 無論如何,您都希望傳遞一個副本,因為您不希望您的初始字符串發生突變並變得不可用。
這是使用strdup(3)
的方法:
char* strtmp = strdup(str1);
char* str2 = strtok(strtmp,"/");
// Use str2 here
free(strtmp);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.