提示信息

字符函数与字符串函数(C 语言)

忧如心捣 已关注

在 C 语言中,处理字符和字符串的函数是非常重要的工具。这些函数大多数定义在标准库 <string.h> 中,提供了多种操作字符串和字符的方式。下面是一些常用的字符函数和字符串函数:

字符函数

字符函数主要用于处理单个字符,通常与字符相关的函数包括:

  1. isalpha(int c): 检查字符是否为字母字符。如果是字母字符(无论是大写还是小写),则返回非零,否则返回零。

  2. isdigit(int c): 检查字符是否为数字(0 到 9)。如果是数字,则返回非零,否则返回零。

  3. isalnum(int c): 检查字符是否为字母或数字。若是字母或数字,返回非零,否则返回零。

  4. isspace(int c): 检查字符是否为空白字符(如空格、换行、制表符等)。如果是空白字符,则返回非零,否则返回零。

  5. toupper(int c): 将字符转换为大写字母。如果字符是小写字母,则转换为对应的大写字母并返回,否则直接返回字符。

  6. tolower(int c): 将字符转换为小写字母。如果字符是大写字母,则转换为对应的小写字母并返回,否则直接返回字符。

字符串函数

字符串函数用于处理以 null 结尾的字符串(字符数组),常用的字符串函数包括:

  1. strlen(const char *str): 返回字符串的长度(不包括结尾的 null 字符)。

  2. strcpy(char *dest, const char *src): 将源字符串 src 复制到目标字符串 dest

  3. strncpy(char *dest, const char *src, size_t n): 将源字符串最多复制 n 个字符到目标字符串。

  4. strcat(char *dest, const char *src): 将源字符串连接到目标字符串的末尾。

  5. strncat(char *dest, const char *src, size_t n): 将源字符串的最多 n 个字符连接到目标字符串的末尾。

  6. strcmp(const char *str1, const char *str2): 比较两个字符串的大小。返回值为负数、零或者正数,分别表示 str1 小于、等于或者大于 str2

  7. strncmp(const char *str1, const char *str2, size_t n): 比较两个字符串的前 n 个字符。

  8. strchr(const char *str, int c): 在字符串中查找首次出现的字符 c 的位置。

  9. strstr(const char *haystack, const char *needle): 在字符串 haystack 中查找子串 needle 的首次出现位置。

  10. sprintf(char *str, const char *format, ...): 根据格式化字符串将格式化的数据写入字符串中。

示例

以下是一些使用字符串函数的小示例:

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main() {
  4. char str1[20] = "Hello";
  5. char str2[20] = "World";
  6. // 串连接
  7. strcat(str1, str2);
  8. printf("Concatenated String: %s\n", str1);
  9. // 查找子串
  10. char *pos = strstr(str1, "Wo");
  11. if (pos != NULL) {
  12. printf("Substring found at position: %ld\n", pos - str1);
  13. } else {
  14. printf("Substring not found\n");
  15. }
  16. // 字符转化
  17. char ch = 'a';
  18. printf("Uppercase: %c\n", toupper(ch));
  19. return 0;
  20. }

这些函数是非常基础但也非常重要的工具,在字符串和字符操作中提供了很大的灵活性和便利性。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
忧如心捣 关注 已关注

最近一次登录:2024-11-20 19:25:16   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图