C語言超全面講解字符串函數(shù)
注意:在使用字符串處理函數(shù)時(shí),一定要使用#include <string.h>開頭
1、gets函數(shù)
其形式為:gets(字符數(shù)組)——輸入字符串的函數(shù)
作用是從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值。
2、puts函數(shù)
其形式為:puts(字符數(shù)組)——輸出字符串的函數(shù)
作用是將一個(gè)字符串(以‘\0’結(jié)束的字符序列)輸出到終端。
3、strcat函數(shù)
其形式為:strcat(字符數(shù)組1,字符數(shù)組2)——字符串連接的函數(shù)
作用是把兩個(gè)字符數(shù)組中的字符串連接起來,把字符串2連接到字符串1的后面,結(jié)果放在字符數(shù)組1中。
4、strcpy函數(shù)(strncpy函數(shù))
其形式為:strcpy(字符數(shù)組1,字符串2)——字符串復(fù)制的函數(shù)
作用是將字符串2復(fù)制到字符數(shù)組1中去。
strcpy(字符數(shù)組1,字符串2,n)——字符串選擇復(fù)制的函數(shù)
n:表示將字符串2中的n個(gè)單個(gè)字符復(fù)制到字符數(shù)組1中,最少為0個(gè),最多不能超過字符串2的長度。作用與strcpy函數(shù)差不都,都是字符串復(fù)制函數(shù)。
大家可以自己試一試,源碼
#include <stdio.h> #include <string.h> int main(){ char str1[10] =""; //定義空數(shù)組str1 char str2[10] = "kgtj";//定義數(shù)組str2 strncat(str1, str2, 1); printf("%s\n", str1); return 0; }
5、strcmp函數(shù)(strncmp函數(shù))
其形式為:strcmp(字符數(shù)組1,字符串2)——字符串比較的函數(shù)
因?yàn)樽址荒苡玫忍?hào)來比較大小,所以就用strcmp函數(shù)來比較!?。。。?!
比較規(guī)則:
(1)如果全部字符相同,則認(rèn)為兩個(gè)字符串相等;
(2)若出現(xiàn)不相同的字符,則以第一對(duì)不相同的字符比較結(jié)果為準(zhǔn)。('a'<'z';'A'<'Z')。
比較的結(jié)果由函數(shù)值帶回:
(1)如果字符串1與字符串2相同,則函數(shù)值為0。
(2)如果字符串1 > 字符串2,則函數(shù)值返回一個(gè)正數(shù)。
(3)如果字符串1 <字符串2,則函數(shù)值返回一個(gè)負(fù)數(shù)。
strncmp(字符數(shù)組1,字符串2,n)——字符串選擇比較的函數(shù)
n:選擇字符串的前n個(gè)字符進(jìn)行比較,定義和strcmp一樣。
(1)如果字符串1與選擇的字符串2相同,則函數(shù)值為0。
(2)如果字符串1 > 選擇的字符串2,則函數(shù)值返回一個(gè)正數(shù)。
(3)如果字符串1 <選擇的字符串2,則函數(shù)值返回一個(gè)負(fù)數(shù)。
6、strlen函數(shù)
其形式為:strlen(字符數(shù)組)——測字符串長度的函數(shù)
作用是測試字符串長度的函數(shù),函數(shù)的值為字符串實(shí)際的長度(不包括 '\0' 在內(nèi))。
strlen也可以直接測試字符串常量的長度
7、strlwr函數(shù)
其形式為:strlwr(字符串)——轉(zhuǎn)換為小寫的函數(shù)
該函數(shù)的作用是將字符串中的大寫字母轉(zhuǎn)換成小寫字母。
8、strupr函數(shù)
其形式為:strupr(字符串)——轉(zhuǎn)換為大寫的函數(shù)
該函數(shù)的作用是將字符串中的小寫字母轉(zhuǎn)換成大寫字母。
9、strstr函數(shù)
其形式為:strstr(字符串1,字符串2)——查找字符串的函數(shù)
函數(shù)用于判斷字符串str2是否是str1的子串。如果是,則該函數(shù)返回str2在str1中首次出現(xiàn)的地址;否則,返回NULL。
如果找到該數(shù)組,就會(huì)從找到的地方開始輸出;
#include <string.h> #include <stdio.h> int main(){ char a[] = "abcdefg"; char b[] = "bc"; char* ret = strstr(a, b); if (ret == NULL){ printf("Can not find!\n"); } else{ printf("%s\n", ret); //輸出 bcdefg } return 0; }
到此這篇關(guān)于C語言超全面講解字符串函數(shù)的文章就介紹到這了,更多相關(guān)C語言字符串函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
opencv3機(jī)器學(xué)習(xí)之EM算法示例詳解
這篇文章主要介紹了opencv3機(jī)器學(xué)習(xí)之EM算法的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法
這篇文章主要介紹了Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03C++11 std::function和std::bind 的使用示例詳解
C++11中的std::function和std::bind是函數(shù)對(duì)象的重要組成部分,它們可以用于將函數(shù)和參數(shù)綁定在一起,形成一個(gè)可調(diào)用的對(duì)象,這篇文章主要介紹了C++11 std::function和std::bind 的使用示例詳解,需要的朋友可以參考下2023-03-03