今天就跟大家聊聊有關C++中有哪些字符串操作函數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
函數名: stpcpy
功 能: 拷貝一個字符串到另一個,遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *stpcpy(char *destin, char *source);
函數名: strcat
功 能: 字符串拼接函數,注意,destin要有足夠大的空間
用 法: char *strcat(char *destin, char *source);
函數名: strchr
功 能: 在一個串中查找給定字符的第一個匹配之處,找不到返回NULL
用 法: char *strchr(char *str, char c);
函數名: strcmp
功 能: 字符串大小比較,str1>str2 返回1,str1<str2 返回-1,相等返回0
用 法: int strcmp(char *str1, char *str2);
函數名: strncmpi
功 能: 比較字符串str1和str2的前maxlen個字符,忽略大小寫
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
函數名: strcpy
功 能: 遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *strcpy(char *str1, char *str2);
函數名: strcspn
功 能: 返回字符串s1中第一個在s2中出現的字符在s1中的下標值,亦即在s1中出現而s2中沒有出現的子串的長度
用 法: int strcspn(char *str1, char *str2);
程序例:
str1="Golden Global View"; str2 = "new"
在s1中,且在s2中, n e w這三個字符都滿足,而e是在s1中最先出現的,所以返回它的位置
函數名: strdup
功 能: 將串拷貝到新建的位置處,注意,在使用該函數時,申請了一片新的內存,所以使用后必須釋放
用 法: char *strdup(char *str);
程序例:
#include <stdio.h> #include <string.h> #include <alloc.h> int main(void) { char *dup_str, *string = "abcde"; dup_str = strdup(string); // 申請了一片新的內存地址,dup_str指向了這片內存 printf("%s\n", dup_str); free(dup_str); // 一定要釋放 return 0; }
函數名: stricmp
功 能: 比較字符串大小,忽略大小寫
用 法: int stricmp(char *str1, char *str2);
函數名: strerror
功 能: 返回指向錯誤信息字符串的指針
用 法: char *strerror(int errnum);
程序例:
#include <stdio.h> #include <errno.h> int main(void) { char *buffer; buffer = strerror(errno); printf("Error: %s\n", buffer); return 0; }
函數名: strcmpi
功 能: 比較兩個字符串,忽略大小寫
用 法: int strcmpi(char *str1, char *str2);
函數名: strncmp
功 能: 比較字符串大小 maxlen是比較的位數
用 法: int strncmp(char *str1, char *str2, int maxlen);
函數名: strncmpi
功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫,maxlen是比較的位數
用 法: int strncmpi(char *str1, char *str2,int maxlen);
函數名: strncpy
功 能: 串拷貝 maxlen規定拷多少位
用 法: char *strncpy(char *destin, char *source, int maxlen);
函數名: strnicmp
功 能: 忽略大小寫比較字符串 maxlen是比較的位數
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
函數名: strnset
功 能: 將一個字符串中的前n個字符都設為指定字符ch
用 法: char *strnset(char *str, char ch, unsigned n);
函數名: strpbrk
功 能: 在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到則返回空指針
用 法: char *strpbrk(char *str1, char *str2);
函數名: strrchr
功 能: 在串中查找指定字符的最后一個出現
用 法: char *strrchr(char *str, char c);
函數名: strrev
功 能: 串倒轉
用 法: char *strrev(char *str);
函數名: strset
功 能: 將一個串中的所有字符都設為指定字符
用 法: char *strset(char *str, char c);
函數名: strspn
功 能: 返回字符串str1中第一個不在指定字符串str2中出現的字符下標
用 法: int strspn(char *str1, char *str2);
函數名: strstr
功 能: 在串中查找指定字符串的第一次出現
用 法: char *strstr(char *str1, char *str2);
函數名: strtok
功 能: 查找由在第二個串中指定的分界符分隔開的單詞
用 法: char *strtok(char *str1, char *str2);
程序例:
#include<iostream> #include<cstring> using namespace std; int main() { char sentence[]="This is a sentence with 7 tokens"; cout<< "The string to be tokenized is:\n"<< sentence <<"\n\nThe tokens are:\n\n"; char *tokenPtr=strtok(sentence," "); while(tokenPtr!=NULL) { cout<<tokenPtr<<endl; tokenPtr=strtok(NULL," "); // 再次調用時,第一個參數傳NULL } }
函數名: strupr
功 能: 將串中的小寫字母轉換為大寫字母
用 法: char *strupr(char *str);
函數名: swab
功 能: 交換字節 ,nbytes是交換的字節數
用 法: void swab (char *from, char *to, int nbytes);
程序例:
#include <stdlib.h> #include <stdio.h> #include <string.h> char source[15] = "Frank Borland"; char target[15]; int main(void) { swab(source, target, strlen(source)); printf("This is target: %s\n", target); return 0; }
看完上述內容,你們對C++中有哪些字符串操作函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。