乙個字句切割 strtok s

2021-08-11 06:49:39 字數 804 閱讀 4819

突然想到的一件事這是,之前是用stringstream來對那些東西切割的,只是空格分隔的,之後發現不能切割其他符號的字句(也可能是我水平有限),然後我發現strtok_s可以自定義分割符,於是我記錄一下這個操作。

#include

#include

#include

using

namespace

std;

const

int maxn = 1

<< 10;

int main(void)

for (auto iter : str)

cout

<< iter;

system("pause");

return

0;}

ps:我用的時string陣列的儲存方式,當然還有好多更好用的儲存方式,只是點到即可。每次呼叫strtok_s都是以一次分隔符結束,至於第一引數在第二次呼叫開始都用了null的解釋我也不是很清楚,我的理解是裡面有個靜態變數,null相當於告訴函式這不是第一次呼叫,沒有新傳入值,只是繼續進行下乙個next 就好,在此再說一下形參:

strtoken

這個引數用來存放需要分割的字元或者字串整體

strdelimit

這個引數用來存放分隔符(例如:,.!@#$%%^&*() \t \n之類可以區別單詞的符號)

context

這個引數用來存放被分割過的字串

locale

這個引數用來儲存使用的位址

雖說有4個引數,但是我們可控引數只有3個locale是不可控的

乙個字面常量

c 有兩種常數 文字,符號。常量字面值常量文字數字插入 他們是常數,因為你不能改變他們的價值觀。1int x 5 5是乙個字面常量 常量可以字尾,確定其型別。整數常量可以有乙個u或u字尾,意味著他們是無符號的。整數常量也可以有乙個l或者l字尾,這意味著他們是長整數。然而,這些字尾通常是可選的,因為編...

乙個字元驅動

實現乙個基本框架 define notice fmt,args.printk kern notice scull fmt,args define error fmt,args.printk kern err scull fmt,args static init int scull init void...

累就乙個字

最近也學了一把跳槽,新公司坐落在北師大校園裡,環境是一流,可惜就是遠過頭了,一天就要浪費兩個小時在車上,比以前還慘。值得安慰的是公司坐落在學校裡,每天在校園裡看到那些青春活力的學生,也會覺得自己年輕了好幾歲,感覺非常棒。最重要的是北師大靚女成群,真是大飽眼福啊 別鄙視咱,哪個男人不喜歡欣賞美女,除非...