C,C++中常用的操作字符串的函數(shù)
小小的做一個總結(jié)
函數(shù)名: stpcpy
功 能: 拷貝一個字符串到另一個,遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *stpcpy(char *destin, char *source);
函數(shù)名: strcat
功 能: 字符串拼接函數(shù),注意,destin要有足夠大的空間
用 法: char *strcat(char *destin, char *source);
函數(shù)名: strchr
功 能: 在一個串中查找給定字符的第一個匹配之處,找不到返回NULL
用 法: char *strchr(char *str, char c);
函數(shù)名: strcmp
功 能: 字符串大小比較,str1>str2 返回1,str1<str2 返回-1,相等返回0
用 法: int strcmp(char *str1, char *str2);
函數(shù)名: strncmpi
功 能: 比較字符串str1和str2的前maxlen個字符,忽略大小寫
用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);
函數(shù)名: strcpy
功 能: 遇到'\0'時停止拷貝,destin要有足夠大的空間
用 法: char *strcpy(char *str1, char *str2);
函數(shù)名: strcspn
功 能: 返回字符串s1中第一個在s2中出現(xiàn)的字符在s1中的下標(biāo)值,亦即在s1中出現(xiàn)而s2中沒有出現(xiàn)的子串的長度
用 法: int strcspn(char *str1, char *str2);
程序例:
str1="Golden Global View"; str2 = "new"
在s1中,且在s2中, n e w這三個字符都滿足,而e是在s1中最先出現(xiàn)的,所以返回它的位置
函數(shù)名: strdup
功 能: 將串拷貝到新建的位置處,注意,在使用該函數(shù)時,申請了一片新的內(nèi)存,所以使用后必須釋放
用 法: 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); // 申請了一片新的內(nèi)存地址,dup_str指向了這片內(nèi)存
printf("%s\n", dup_str);
free(dup_str); // 一定要釋放
return 0;
}
函數(shù)名: stricmp
功 能: 比較字符串大小,忽略大小寫
用 法: int stricmp(char *str1, char *str2);
函數(shù)名: 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;
}
函數(shù)名: strcmpi
功 能: 比較兩個字符串,忽略大小寫
用 法: int strcmpi(char *str1, char *str2);
函數(shù)名: strncmp
功 能: 比較字符串大小 maxlen是比較的位數(shù)
用 法: int strncmp(char *str1, char *str2, int maxlen);
函數(shù)名: strncmpi
功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫,maxlen是比較的位數(shù)
用 法: int strncmpi(char *str1, char *str2,int maxlen);
函數(shù)名: strncpy
功 能: 串拷貝 maxlen規(guī)定拷多少位
用 法: char *strncpy(char *destin, char *source, int maxlen);
函數(shù)名: strnicmp
功 能: 忽略大小寫比較字符串 maxlen是比較的位數(shù)
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
函數(shù)名: strnset
功 能: 將一個字符串中的前n個字符都設(shè)為指定字符ch
用 法: char *strnset(char *str, char ch, unsigned n);
函數(shù)名: strpbrk
功 能: 在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到則返回空指針
用 法: char *strpbrk(char *str1, char *str2);
函數(shù)名: strrchr功 能: 在串中查找指定字符的最后一個出現(xiàn)
用 法: char *strrchr(char *str, char c);
函數(shù)名: strrev
功 能: 串倒轉(zhuǎn)
用 法: char *strrev(char *str);
函數(shù)名: strset
功 能: 將一個串中的所有字符都設(shè)為指定字符
用 法: char *strset(char *str, char c);
函數(shù)名: strspn
功 能: 返回字符串str1中第一個不在指定字符串str2中出現(xiàn)的字符下標(biāo)
用 法: int strspn(char *str1, char *str2);
函數(shù)名: strstr
功 能: 在串中查找指定字符串的第一次出現(xiàn)
用 法: char *strstr(char *str1, char *str2);
函數(shù)名: 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," "); // 再次調(diào)用時,第一個參數(shù)傳NULL
}
}
函數(shù)名: strupr
功 能: 將串中的小寫字母轉(zhuǎn)換為大寫字母
用 法: char *strupr(char *str);
函數(shù)名: swab
功 能: 交換字節(jié) ,nbytes是交換的字節(jié)數(shù)
用 法: 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;
}
到此就結(jié)束了,大家可以查看下面的幾篇文章。
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)旋轉(zhuǎn)鏈表的實現(xiàn)
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)旋轉(zhuǎn)鏈表的實現(xiàn)的相關(guān)資料,這里提供實例幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08
C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法
這篇文章主要介紹了C語言中的結(jié)構(gòu)體內(nèi)嵌函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
VC6.0如何創(chuàng)建以及調(diào)用動態(tài)鏈接庫實例詳解
作為客戶與后臺的中介,為了更好的調(diào)節(jié)兩方的關(guān)系,我明智滴選擇了webservice以及動態(tài)鏈接庫。在與客戶c++使動態(tài)鏈接庫方式,而與后臺java,使用webservice來交流溝通2013-01-01

