C语言字符串总结

1、字符串操作

strcpy(p, p1) 复制字符串
  • 原型:strcpy(char destination[], const char source[]);
  • 功能:将字符串Source拷贝到字符串destination中
  • 例如:
#include
#include

void main()
{
	char str1[10] = {" hello world "};
	char str2[10] = {" computer "};
	cout <> computer

注:在定义数组时,字符数组1的字符串长度必须大于或等于字符串2的字符串长度。不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。

strncpy(p, p1, n) 复制指定长度字符串
  • 原型:strncpy(char destination[], const char source[], int numchars);
  • 功能:将字符串source中前numchars个字符拷贝到字符串destination中
  • 例如:
#include  
#include  
void main(void) 
{ 
  char str1[10] = { "Tsinghua "}; 
  char str2[10] = { "Computer"}; 
  cout <> Comnghua

注:字符串source中前numchars个字符将覆盖掉字符串destination中前numchars个字符

strcat(p, p1, n) 附加字符串
  • 原型:strcat(char target[], const char source[]);
  • 功能:将字符串source接到字符串target的后面
  • 例如:
#include
#include

void main(void)
{
  char str1[10] = { "Tsinghua "}; 
  char str2[10] = { "Computer"}; 
  cout << strcat(str1, str2) << endl;
}

>> Tsinghua Computer

注:连接后新字符串的长度为两个字符串长度之和,进行字符串连接后,字符串1的结尾将自动被去掉,在结尾串末尾保留新字符后面一个结尾符。

strncat(p, p1, n) 附加指定长度字符串
  • 原型:strncat(char target[], const char source[], int numchars);
  • 功能:将字符串source的前numchars个字符接到target的后面
  • 例如:
#include  
#include  

void main(void) 
{ 
  char str1[] = { "Tsinghua "}; 
  char str2[] = { "Computer"}; 
  cout <> Tsinghua Com
strlen§ 取字符串长度
  • 原型:strlen( const char string[])
  • 功能:统计字符串string中字符的个数
  • 注:strlen函数的功能是计算字符串的实际长度,不包括’\0’在内。strlen函数也可以直接测试字符串常量的长度。
strcmp(p, p1) 比较字符串
  • 原型:int strcmp(const char str1[], const char str2);
  • 功能:比较两个字符串firststring和secondstring
  • 返回值:
    1)如果返回值 < 0,则表示 str1 小于 str2;
    2)如果返回值 > 0,则表示 str2 小于 str1;
    3)如果返回值 = 0,则表示 str1 等于 str2。
strcasecmp 忽略大小写比较字符串
  • 原型:strcasecmp (const char *s1, const char *s2);
  • 功能:比较参数s1 和s2 字符串,比较时会自动忽略大小写的差异
  • 返回:若参数s1和s2字符串相等则返回0。s1大于s2则返回大于0 的值,s1 小于s2 则返回小于0的值。
strncmp(p, p1, n) 比较指定长度字符串
  • 原型:strncmp(const char str1[], const char str2, int number)
  • 功能:此函数功能即比较字符串str1和str2的前number个字符
  • 返回:
    1)如果返回值 < 0,则表示 str1 小于 str2;
    2)如果返回值 > 0,则表示 str2 小于 str1;
    3)如果返回值 = 0,则表示 str1 等于 str2。
strchr(p, c) 在字符串中查找指定字符
  • 原型:char *strchr(const char *string, char c);
  • 功能:查找字符串string中首次出现的位置, NULL结束符也包含在查找中.。
  • 返回:返回一个指针, 指向字符c在字符串string中首次出现的位置, 如果没有找到, 则返回NULL.。
strrchr(p, c) 在字符串中反向查找
  • 原型:char *strrchr(const char *string, char c);
  • 功能:查找字符c在字符串string中最后一次出现的位置, 也就是对string进行反序搜索, 包含NULL结束符。
  • 返回:返回一个指针, 指向字符c在字符串string中最后一次出现的位置, 如果没有找到, 则返回NULL。
strstr(p, p1) 查找字符串
  • 原型:char *strstr(const char *string, const char *strSearch);
  • 功能:在字符串string中查找strSearch子串.。
  • 返回:该函数返回在 string中第一次出现 strSearch字符串的位置,如果未找到则返回 null。
strpbrk(p, p1)
  • 原型:char *strpbrk(const char *str1, const char *str2)
  • 功能:检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。
  • 返回:str1 中第一个匹配字符串 str2 中字符的字符数,如果未找到字符则返回 NULL。
strspn(p, p1)
  • 原型:size_t strspn(const char *str1, const char *str2)
  • 功能:检索字符串 str1 中第一个不在字符串 str2 中出现的字符下标
  • 返回:字符串 str1 中第一个不在字符串 str2 中出现的字符下标。

你可能感兴趣的:(c/c++学习)