字符串函数
strlen
原型:extern int strlen(char *s);
功能:计算字符串s的长度
strcpy
原型:char *strcpy(char *dest, const char *src)
功能:把src所指由NULL结束的字符串复制到dest所指的数组中,
strncpy
原型:extern char *strncpy(char *dest, char *src, int n);
功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。
(注意:dest必须是字符数组,如果是字符指针则会有问题)
int main()
{
char s[20] = "i love you";
char *d = "view";
strncpy(s, d, 2);
cout << s << endl;
system("pause");
}
输出结果为:vilove you
int main()
{
char *s = "i love you";
char *d = "view";
strncpy(s, d, 2);
cout << s << endl;
system("pause");
}
则错误。
strcat
原型:char *strcat(char *dest,char *src);
功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
strncat
原型:extern char *strncat(char *dest,char *src,int n);
功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
strdup
功能:将串拷贝到新建的位置处
用处:char *strdup(char *str);
strcmp:大小写敏感比较两个串。
stricmp
原型:int stricmp(char *str1, char *str2)
功能:以大小写不敏感方式比较两个串
strncmp
用 法: int strncmp(char *str1, char *str2, int maxlen);
说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
strset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strset(char *str, char c);
strnset
功 能: 将一个串中的所有字符都设为指定字符
用 法: char *strnset(char *str, char ch, unsigned n);
int main()
{
char s[10] = "aaaaa";
char letter = 'x';
strnset(s, letter, 3);
cout << s << endl;
system("pause");
}
输出结果为:xxxaa
注意:s要用字符数组,不能是字符指针。总结起来,凡是要更改里面字符的,都不能用指针,而应该用字符数组,因为字符指针只是指向字符串的起始位置。
strrchr
功 能: 在串中查找指定字符的最后一个出现
用 法: char *strrchr(char *str, char c);
strrev
功 能: 串倒转
用 法: char *strrev(char *str);
strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
int main()
{
char s[10] = "s.ssc,d";
char *p;
p = strtok(s, ",");
cout << p << endl;
system("pause");
}
输出结果:s.ssc
strupr
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
strlwr
原型:extern char *strlwr(char *s);
功能:将字符串s转换为小写形式
说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。
isalpha
原型:extern int isalpha(int c);
用法:#include <ctype.h>
功能:判断字符c是否为英文字母
说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。
itoa
char *itoa(int num, char *string, int radix);
int main()
{
int num = 123456;
char str [25];
itoa(number, str, 10);
cout << str << endl;
}
atoi
int main()
{
int num;
char str[100] = "123456";
num = atoi(str);
cout << str << ' ' << num << endl;
system("pause");
}