- (一)字符串操作
- strcpy(p, p1) 复制字符串
- strncpy(p, p1, n) 复制指定长度字符串
- strcat(p, p1) 附加字符串
- strncat(p, p1, n) 附加指定长度字符串
- strlen( p) 取字符串长度
- strcmp(p, p1) 比较字符串
- strcasecmp忽略大小写比较字符串
- strncmp(p, p1, n) 比较指定长度字符串
- strchr(p, c) 在字符串中查找指定字符
- strrchr(p, c) 在字符串中反向查找
- strstr(p, p1) 查找字符串
- strpbrk(s1, s2) 字符串(s1)中找出最先含有搜索字符串(s2)中任一字符
- strspn(s1, s2) 字符串中第一个不在指定字符串中出现的字符
- (二)字符串转数值
- atoi( p) 字符串转换到 int 整型
- atof( p) 字符串转换到 double 符点数
- atol( p) 字符串转换到 long 整型
- strtol(p, ppend, base) 八/十/十六进制的字符串转换成long整型
- (三)字符检查
- isalpha() 检查是否为字母字符
- isupper() 检查是否为大写字母字符
- islower() 检查是否为小写字母字符
- isdigit() 检查是否为数字
- isxdigit() 检查是否为十六进制数字表示的有效字符
- isspace() 检查是否为空格类型字符
- iscntrl() 检查是否为控制字符
- ispunct() 检查是否为标点符号
- isalnum() 检查是否为字母和数字
- (四)格式化字符串
- sscanf(s,format…)读取格式化的字符串中的数据
原型:strcpy(char destination[], const char source[]);
功能:将字符串source拷贝到字符串destination中
例程:
#include#include int main() { char str1[10] = { "ABC "}; char str2[10] = { "ab"}; printf("%s",strcpy(str1,str2)); }
运行结果:ab
strncpy(p, p1, n) 复制指定长度字符串原型:strncpy(char destination[], const char source[], int numchars);
功能:将字符串source中前numchars个字符拷贝到字符串destination中
#include#include int main() { char str1[10] = { "ABCDE"}; char str2[10] = { "abcd"}; printf("%s",strncpy(str1,str2,3)); }
运行结果:abcDE
strcat(p, p1) 附加字符串原型:strcat(char target[], const char source[]);
功能:将字符串source接到字符串target的后面
例程:
#include#include int main() { char str1[10] = { "ABC"}; char str2[10] = { "ab"}; printf("%s", strcat (str1,str2)); }
运行结果:ABCab
strncat(p, p1, n) 附加指定长度字符串原型:strncat(char target[], const char source[], int numchars);
功能:将字符串source的前numchars个字符接到字符串target的后面
例程:
#include#include int main() { char str1[10] = { "ABC"}; char str2[10] = { "ab"}; printf("%s", strncat (str1,str2,1)); }
运行结果:ABCa
strlen( p) 取字符串长度原型:strlen( const char string[] );
功能:统计字符串string中字符的个数
例程:
#include#include int main() { char str1[10] = { "ABC"}; printf("%d", strlen (str1)); }
运行结果:3
strcmp(p, p1) 比较字符串原型:int strcmp(const char *string1, const char *string2)
功能:比较字符串string1和string2大小,返回值< 0, 表示string1小于string2;
原型:char *strstr(const char *string, const char *strSearch);
功能:在字符串string中查找strSearch子串. 返回子串strSearch在string中首次出现位置的指针. 如果没有找到子串strSearch, 则返回NULL. 如果子串strSearch为空串, 函数返回string值;
#include#include int main() { char *pStr; if((pStr=strstr("ABC=abc","=a"))!=NULL) { printf("%s",pStr); } }
运行结果:=abc
strpbrk(s1, s2) 字符串(s1)中找出最先含有搜索字符串(s2)中任一字符原型:char *strpbrk(const char *str1, const char *str2)
功能:检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。
原型: int atoi(const char *str)
功能:把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
#include#include int main() { int val; val = atoi("12,3"); printf("%d",val); }
输出结果:12
atof( p) 字符串转换到 double 符点数 atol( p) 字符串转换到 long 整型 strtol(p, ppend, base) 八/十/十六进制的字符串转换成long整型#include#include int main() { printf("16进制的数值=%lxrn",strtol("0x123", NULL, 16)); printf("10进制的数值=%ldrn",strtol("123A", NULL, 10)); return(0); }
输出结果:16进制的数值=123
10进制的数值=123
原型:int isalpha(int c);
功能:检查所传的字符是否是字母。如果是一个字母,则该函数返回非零值,否则返回 0。
#include#include int main() { if(isalpha('d')) { printf("d是字母rn"); } if(!isalpha('=')) { printf("=不是是字母rn"); } return(0); }
运行结果:d是字母
=不是是字母
原型:int sscanf(const char *str, const char *format, …)
功能:从字符串读取格式化输入。
#includeint main() { int day, year; char weekday[20], month[20], dtm[100]; sscanf( "Saturday March 25 1989", "%s %s %d %d", weekday, month, &day, &year ); printf("%s %d, %d = %sn", month, day, year, weekday ); return(0); }
输出结果:March 25, 1989 = Saturday



