C 字串函式

2021-10-08 05:32:04 字數 3065 閱讀 3226

1.基礎函式

輸入輸出:cin,cout,getchar,gets,putchar,puts,printf,scanf

格式化:sprintf,sprintf_s,wsprintf,wsprintf_s,swprintf,swprintf_s (請仔細比較這幾組函式的區別)

格式化值:

%% -返回百分號

%b –返回二進位制數

%c –返回與ascii值相對應的字元

%d –帶有正負號的十進位制數

%e –科學計數符號(如:1.2e+2)

%u –不帶正負號的十進位制數.%ul 不帶符號的長整型

%f – 浮點資料(本地設定)

%f –浮點資料(非本地設定)

%o –八進位制數

%s –字串

%x –十六進製制數(小寫字母) 例如:sprintf(s, 「%#010x」, 128); //產生"0x00000080"

%x –十六進製制數(大寫字母)

char*字串處理:strlen,strcpy,strcat,strcmp

2.高階函式

char*字串處理:

char * strchar(const char * s, int c) ;返回指向字串s中字元c首次出現的指標,沒有返回null

char * strrchar(const char * s, int c) ;返回指向字串s中字元c最後一次出現的指標,沒有返回null

char * strstr(const char * s1, const char * s2) ;返回指向字串s1中首次出現s2位置的指標,無返回null

size_t strspn(const char * s1, const char * s2) ;返回s1中只包含s2中字元的起始段的長度

size_t strcspn(const char * s1, const char * s2) ;返回s1中不包含s2中字元的起始段的長度

char * strpbrk(const char * s1, const char * s2) ;返回指向s1中首次出現s2中字元位置的指標,沒有返回null

char * strtok(char * s1, const char * s2) 將s1用s2中包含的字元分開記號拆散為字串。(注意:strtok會修改輸入的字串,故請拷貝後再呼叫。)

char *strsep(char **stringp, const char *delim) 同上,分隔字串,用法類似

string字串處理:備註:

引數:1個引數n 表示前n個字元。

兩個引數:pos,n

a = s.substr(0,5)

;//拷貝字串s中從第0位開始的長度為5的字串

a=s.substr(

); //不加引數即預設拷貝整個字串s

a=s.substr(4)

;//輸出56789

查詢:pos=str1.find(str2)

倒查詢:pos=str1.rfind(str2)

插入:str1.insert(pos1,str2);

替換:str1.replace(pos1,str2);

刪除:str1.erase(pos,len)

清除:str.clear()

倒置:reverse(pos,len)

字串轉數字:

atoi(將字串轉換成整型數)

atof(將字串轉換成浮點型數)

atol(將字串轉換成長整型數)

strtod(將字串轉換成雙精度浮點數)

strtol(將字串轉換成長整型數)

strtoul(將字串轉換成無符號長整型數)

sscanf(str,"%d",&n); //將字串陣列的內容轉化為數字

數字轉字串:

printf(d,"%s",&n); //將字串陣列的內容轉化為數字

string str;

'sprintf(str,"%s");'

數字轉字串

● itoa():將整型值轉換為字串。

● ltoa():將長整型值轉換為字串。

● ultoa():將無符號長整型值轉換為字串。

● gcvt():將浮點型數轉換為字串,取四捨五入。

● ecvt():將雙精度浮點型值轉換為字串,轉換結果中不包含十進位制小數點。

● fcvt():指定位數為轉換精度,其餘同ecvt()。

數字轉字串:

string a=to_string(num)

字串轉整型

cur=stoi(s.substr(j+1,i-j));字元陣列轉化成string型別

char ch = 「abcdefg」;

string str(ch);//也可string str = ch;

或者char ch = 「abcdefg」;

string str;

str = ch;//在原有基礎上新增可以用str += ch;

char buf[10];

string str(「abcdefg」);

length = str.copy(buf, 9);

buf[length] = 『\0』;

或者char buf[10];

string str(「abcdefg」);

strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);

char ch = 「abcdefg」;

string str(ch);//也可string str = ch;

或者char ch = 「abcdefg」;

string str;

str = ch;//在原有基礎上新增可以用str += ch;

C 字串函式

c 字串函式 部分 方法 作用 compare 比較字串的內容,考慮文化背景 場所 確定某些字元是否相等 compareordinal 與compare 一樣,但不考慮文化背景 format 格式化包含各種值的字串和如何格式化每個值的說明符 indexof 定位字串中第一次出現某個給定子字串或字元的...

c 字串函式

2 strlen strcpy strcat strcmp strchr strcoll strstr strtok strtod strtol strcpy char strcpy char s1,const char s2 將字串 s2 複製到字串陣列 s1 中,返回 s1 的 值strcat ...

字串函式 C

c 中有大量的函式用來操作以 null 結尾的字串 strcpy s1,s2 複製字串 s2 到字串 s1。2strcat s1,s2 連線字串 s2 到字串 s1 的末尾。3strlen s1 返回字串 s1 的長度。4strcmp s1,s2 如果 s1 和 s2 是相同的,則返回 0 如果 s...