簡體   English   中英

如何拆分 const char *?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM