通過**的執行結果我們可以看出,
經過strtok_s函式分割後,
函式返回值為原字串的前半部分,
函式第三個引數為指向原字串的後半部分指標的位址,
字串本身也遭到的破壞變為了原字串的前半部分。
如果我們分割時選擇的字串在開頭呢,這時候會發生什麼?**如下:
通過結果可以看出,這時start指標、end指標裡存的內容已經不是我們想要的結果了!而且原字串沒有遭到破壞!如果我們分割時選擇的字串不止乙個字元會發生什麼呢?**如下:
通過結果我們可以看出,start指標中存的依舊是我們想要的結果,但是end指標中存的字串確多出了個"_"這是為什麼呢,根據我的分析,strtok_s這個函式只會根據第二個引數的指標所在位置進行分割,只會切割乙個字元,而並不會切除函式第二個引數中存的整個字串!
總結:當我們使用strtok_s這個函式對字串進行處理的時候需要注意到這些細節,這樣才能保證我們得到的結果的準確性和完整性!
strtok s分解字串
char strtok s char str,要分解的字串 const char delimiters,分隔符 char context 後續待分解字串 wcstok s是strtok s的寬字元版本 wchar t wcstok s wchar t str,const wchar t delimi...
字串和字串函式
字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...
字串和字串函式
1.字串字面量 字串常量 用雙引號括起來的內容稱為字串字面量,也叫字串常量。字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期內存在,計時函式被呼叫多次。用雙引號括起來的內容被視為指向該字串儲存位置的指標。hello 中的 hello 類似於乙個陣列名...