C-字符串

字符串

C语言中没有字符串(String) 类型, 字符串是存放在字符型数组中的, 用双引号表示.

一般认为字符串要以'\0'结尾, 实际上是为了其他函数的操作, 字符数组的最后一位并没有强制要求.

字符数组

char str0[6];
scanf("%s", str0);
char str1[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
// 空字符'\0'作为结束, ASCII码为0; 最后一位不写则初始化为0
char str2[] = "Hello";
// 这种方式会自动添加结束符
printf("%s", str2);  // "H"

常用字符串函数

  • #include <stdio.h>
函数 描述
char *gets(char *str) 从标准输入 stdin 读取一行, 并把它存储在 str 所指向的字符串中
当读取到换行符时, 或者到达文件末尾时, 它会停止, 具体视情况而定
int puts(const char *str) 把一个字符串写入到标准输出 stdout, 直到空字符, 但不包括空字符. 换行符会被追加到输出中
  • #include <string.h>
函数 描述
strcpy(s1, s2); 复制字符串 s2 到字符串 s1
strcat(s1, s2); 连接字符串 s2 到字符串 s1 的末尾
strlen(s1); 返回字符串 s1 的有效长度, 不包括结束符
strcmp(s1, s2); 如果 s1 和 s2 是相同的, 则返回 0;
如果 s1<s2 则返回小于 0;
如果 s1>s2 则返回大于 0
strchr(s1, ch); 返回一个指针, 指向字符串 s1 中字符 ch 的第一次出现的位置
strstr(s1, s2); 返回一个指针, 指向字符串 s1 中字符串 s2 的第一次出现的位置
  • sizeof(string): 返回字符串长度, 包括结束符
posted @ 2023-04-07 17:08  Khru  阅读(17)  评论(0)    收藏  举报