iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中字符串常用操作总结
  • 351
分享到

C语言中字符串常用操作总结

C语言字符串常用操作C语言字符串操作C语言字符串 2023-05-20 05:05:33 351人浏览 独家记忆
摘要

目录字符串的定义和初始化字符串的赋值字符串的输入输出字符串的比较字符串的拼接字符串的查找和替换字符串的常用函数strcpy函数strcat函数strlen函数strcmp函数strc

C语言是一种非常流行的编程语言,它支持各种数据类型,包括整数、浮点数、字符和字符串等。在 C语言中,字符串是一种特殊的数据类型,它由一系列字符组成,以\0字符结尾。本文将介绍 C语言中字符串的相关知识,包括字符串的定义、初始化、赋值、输入输出、比较、拼接、查找和替换等。

字符串的定义和初始化

在 C语言中,字符串可以使用字符数组来定义和表示。例如,我们可以使用以下语句来定义一个字符串变量:

char str[20];

上述语句定义了一个长度为 20 的字符数组 str,用来存储字符串。我们可以使用以下语句来初始化字符串:

char str[] = "hello world";

上述语句定义了一个字符数组 str,并使用字符串字面量"hello world"来初始化该数组。在 C语言中,字符串字面量是由一系列字符组成的常量,以\0字符结尾。例如,字符串"hello world"由 11 个字符组成,其中包括 10 个可见字符和 1 个\0字符。

字符串的赋值

在 C语言中,我们可以使用 strcpy 函数来将一个字符串赋值给另一个字符串。strcpy 函数的原型如下:

char *strcpy(char *dest, const char *src);

其中,dest 是目标字符串,src 是要复制的字符串。strcpy 函数将 src 字符串复制到 dest 字符串中,并返回 dest 字符串的地址。例如:

char str1[20];
char str2[] = "hello world";
strcpy(str1, str2);
printf("复制后的字符串为:%s\n", str1);

在以上代码中,我们首先定义了一个空的字符数组 str1 和一个字符串"hello world"。接着,使用 strcpy 函数将字符串 str2 复制到字符串 str1 中,并输出复制后的字符串。

字符串的输入输出

在 C语言中,我们可以使用 printf 函数和 scanf 函数来输入和输出字符串。输出字符串时,需要使用%s转换说明符;输入字符串时,需要使用%s格式化字符串。

例如:

char str[20];
printf("请输入一个字符串:");
scanf("%s", str);
printf("你输入的字符串为:%s\n", str);

在以上代码中,我们使用 scanf 函数输入一个字符串,并使用 printf 函数输出该字符串。

字符串的比较

在 C语言中,我们可以使用 strcmp 函数来比较两个字符串的大小。strcmp 函数的原型如下:

int strcmp(const char *s1, const char *s2);

其中,s1 和 s2 是要比较的字符串。如果 s1 大于 s2,返回一个正数;如果 s1 小于 s2,返回一个负数;如果 s1 等于 s2,返回 0。例如:

char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if(result > 0) {
    printf("%s大于%s\n", str1, str2);
} else if(result < 0) {
    printf("%s小于%s\n", str1, str2);
} else {
    printf("%s等于%s\n", str1, str2);
}

在以上代码中,我们首先定义了两个字符串"hello"和"world"。接着,使用 strcmp 函数比较两个字符串的大小,并输出比较结果。

字符串的拼接

在 C语言中,我们可以使用 strcat 函数来将一个字符串拼接到另一个字符串的末尾。strcat 函数的原型如下:

char *strcat(char *dest, const char *src);

其中,dest 是目标字符串,src 是要拼接的字符串。strcat 函数将 src 字符串拼接到 dest 字符串的末尾,并返回 dest 字符串的地址。例如:

char str1[20] = "hello";
char str2[] = "world";
strcat(str1, str2);
printf("拼接后的字符串为:%s\n", str1);

在以上代码中,我们首先定义了一个字符串"hello"和一个字符串"world"。接着,使用 strcat 函数将字符串"world"拼接到字符串"hello"的末尾,并输出拼接后的字符串。

字符串的查找和替换

在 C语言中,我们可以使用 strchr 函数来查找一个字符在字符串中第一次出现的位置。strchr 函数的原型如下:

char *strchr(const char *s, int c);

其中,s 是要查找的字符串,c 是要查找的字符。strchr 函数返回字符 c 在字符串 s 中第一次出现的位置,如果字符 c 在字符串 s 中不存在,则返回 NULL。例如:

char str[] = "hello world";
char *p = strchr(str, 'o');
if(p != NULL) {
    printf("字符o在字符串中第一次出现的位置为:%d\n", p - str);
} else {
    printf("字符o不存在\n");
}

在以上代码中,我们首先定义了一个字符串"hello world"和一个字符'o'。接着,使用 strchr 函数查找字符'o'在字符串中第一次出现的位置,并输出该位置。

在 C语言中,我们还可以使用 strstr 函数来查找一个字符串在另一个字符串中第一次出现的位置。strstr 函数的原型如下:

char *strstr(const char *s1, const char *s2);

其中,s1 是要查找的字符串,s2 是要查找的子串。strstr 函数返回字符串 s2 在字符串 s1 中第一次出现的位置,如果字符串 s2 在字符串 s1 中不存在,则返回 NULL。例如:

char str[] = "hello world";
char sub[] = "world";
char *p = strstr(str, sub);
if(p != NULL) {
    printf("字符串%s在字符串%s中第一次出现的位置为:%d\n", sub, str, p - str);
} else {
    printf("字符串%s不存在\n", sub);
}

在以上代码中,我们首先定义了一个字符串"hello world"和一个子串"world"。接着,使用 strstr 函数查找子串"world"在字符串"hello world"中第一次出现的位置,并输出该位置。

在 C语言中,我们可以使用 strrchr 函数来查找一个字符在字符串中最后一次出现的位置。strrchr 函数的原型与 strchr 函数相同,只不过 strrchr 函数查找的是字符在字符串中最后一次出现的位置。例如:

char str[] = "hello world";
char *p = strrchr(str, 'o');
if(p != NULL) {
    printf("字符o在字符串中最后一次出现的位置为:%d\n", p - str);
} else {
    printf("字符o不存在\n");
}

在以上代码中,我们首先定义了一个字符串"hello world"和一个字符'o'。接着,使用 strrchr 函数查找字符'o'在字符串中最后一次出现的位置,并输出该位置。

在 C语言中,我们还可以使用 strtok 函数将一个字符串按照指定的分隔符分成若干个子串。strtok 函数的原型如下:

char *strtok(char *s, const char *delim);

其中,s 是要分割的字符串,delim 是分隔符。strtok 函数第一次调用时,s 指向要分割的字符串,函数返回 s 中第一个不包含分隔符的子串;之后每次调用时,s 应该设为 NULL,函数返回 s 中下一个不包含分隔符的子串,直到所有子串都被分割完为止。例如:

char str[] = "hello,world,!";
char *p = strtok(str, ",");
while(p != NULL) {
    printf("%s\n", p);
    p = strtok(NULL, ",");
}

在以上代码中,我们首先定义了一个字符串"hello,world,!",并使用逗号作为分隔符。接着,使用 strtok 函数将字符串按照逗号分割成若干个子串,并逐个输出这些子串。

在 C语言中,我们可以使用 strstr 函数来查找一个字符串在另一个字符串中第一次出现的位置。strstr 函数的原型如下:

char *strstr(const char *s1, const char *s2);

其中,s1 是要查找的字符串,s2 是要查找的子串。strstr 函数返回字符串 s2 在字符串 s1 中第一次出现的位置,如果字符串 s2 在字符串 s1 中不存在,则返回 NULL。例如:

char str[] = "hello world";
char sub[] = "world";
char *p = strstr(str, sub);
if(p != NULL) {
    printf("字符串%s在字符串%s中第一次出现的位置为:%d\n", sub, str, p - str);
} else {
    printf("字符串%s不存在\n", sub);
}

在以上代码中,我们首先定义了一个字符串"hello world"和一个子串"world"。接着,使用 strstr 函数查找子串"world"在字符串"hello world"中第一次出现的位置,并输出该位置。

字符串的常用函数

在 C语言中,有很多与字符串相关的函数。下面我们列举一些常用的字符串函数及其用法:

strcpy函数

strcpy 函数用于将一个字符串复制到另一个字符串中。strcpy 函数的原型如下:

char *strcpy(char *dest, const char *src);

其中,dest 是目标字符串,src 是源字符串。strcpy 函数将源字符串复制到目标字符串中,并返回目标字符串的地址。例如:

char src[] = "hello world";
char dest[20];
strcpy(dest, src);
printf("复制后的字符串为:%s\n", dest);

在以上代码中,我们首先定义了一个源字符串"hello world"和一个目标字符串 dest。接着,使用 strcpy 函数将源字符串复制到目标字符串中,并输出复制后的字符串。

strcat函数

strcat 函数用于将一个字符串追加到另一个字符串的末尾。strcat 函数的原型如下:

char *strcat(char *dest, const char *src);

其中,dest 是目标字符串,src 是源字符串。strcat 函数将源字符串追加到目标字符串的末尾,并返回目标字符串的地址。例如:

char dest[20] = "hello";
char src[] = "world";
strcat(dest, src);
printf("追加后的字符串为:%s\n", dest);

在以上代码中,我们首先定义了一个目标字符串"hello"和一个源字符串"world"。接着,使用 strcat 函数将源字符串追加到目标字符串的末尾,并输出追加后的字符串。

strlen函数

strlen 函数用于计算一个字符串的长度。strlen 函数的原型如下:

size_t strlen(const char *s);

其中,s 是要计算长度的字符串。strlen 函数返回字符串的长度。例如:

char str[] = "hello world";
printf("字符串的长度为:%d\n", strlen(str));

在以上代码中,我们首先定义了一个字符串"hello world"。接着,使用 strlen 函数计算该字符串的长度,并输出结果。

strcmp函数

strcmp 函数用于比较两个字符串的大小。strcmp 函数的原型如下:

int strcmp(const char *s1, const char *s2);

其中,s1 和 s2 是要比较的两个字符串。strcmp 函数返回一个整数,表示两个字符串的大小关系。如果 s1 小于 s2,返回一个负整数;如果 s1 等于 s2,返回 0;如果 s1 大于 s2,返回一个正整数。例如:

char str1[] = "hello";
char str2[] = "world";
if(strcmp(str1, str2) < 0) {
    printf("%s在%s之前\n", str1, str2);
} else if(strcmp(str1, str2) == 0) {
    printf("%s与%s相等\n", str1, str2);
} else {
    printf("%s在%s之后\n", str1, str2);
}

在以上代码中,我们使用 strcmp 函数比较了两个字符串"hello"和"world"的大小,由于"hello"在字典序上小于"world",因此输出结果为"hello 在 world 之前"。

strchr函数

strchr 函数用于在一个字符串中查找指定字符的位置。strchr 函数的原型如下:

char *strchr(const char *s, int c);

其中,s 是要查找的字符串,c 是要查找的字符。strchr 函数返回指向第一个匹配字符的指针,如果没有找到匹配字符,则返回 NULL。例如:

char str[] = "hello world";
char *p = strchr(str, 'o');
if(p) {
    printf("字符o在%s中的位置为:%d\n", str, p - str);
} else {
    printf("%s中未找到字符o\n", str);
}

在以上代码中,我们首先定义了一个字符串"hello world",接着使用 strchr 函数查找其中字符'o'的位置,并输出结果。由于第一个'o'字符在第五个位置,因此输出结果为"字符 o 在 hello world 中的位置为:4"。

strstr函数

strstr 函数用于在一个字符串中查找另一个字符串的位置。strstr 函数的原型如下:

char *strstr(const char *s1, const char *s2);

其中,s1 是要查找的字符串,s2 是要查找的子字符串。strstr 函数返回指向第一个匹配子字符串的指针,如果没有找到匹配子字符串,则返回 NULL。例如:

char str[] = "hello world";
char *p = strstr(str, "world");
if(p) {
    printf("%s中包含子字符串\"world\"\n", str);
} else {
    printf("%s中不包含子字符串\"world\"\n", str);
}

在以上代码中,我们首先定义了一个字符串"hello world",接着使用strstr函数查找其中是否包含子字符串"world",并输出结果。由于该字符串中包含子字符串"world",因此输出结果为"hello world中包含子字符串"world""。

sprintf函数

sprintf 函数用于将格式化的数据写入一个字符串中。sprintf 函数的原型如下:

int sprintf(char *str, const char *fORMat, ...);

其中,str 是要写入的字符串,format 是格式化字符串。sprintf 函数将格式化的数据写入 str 中,并返回写入的字符数。例如:

char str[50];
int a = 10, b = 20;
sprintf(str, "a = %d, b = %d", a, b);
printf("%s\n", str);

在以上代码中,我们首先定义了一个空字符串 str 和两个整型变量 a 和 b。接着使用 sprintf 函数将格式化的数据"a = 10, b = 20"写入 str 中,并输出结果。

到此为止,我们已经介绍了 C语言中的一些常用字符串函数及其用法。在实际编程中,字符串是非常常用的数据类型,熟练掌握字符串函数的使用对于编写高效、简洁的代码非常重要。

最后,我们再来看一下以下代码:

char str[] = "hello";
str[0] = 'H';
printf("%s\n", str);

这段代码首先定义了一个字符串"hello",然后将其第一个字符'h'改为大写'H',并输出结果。这里涉及到了字符串的一个重要特性——字符串是一个字符数组。在定义一个字符串时,实际上定义的是一个字符数组,字符串函数也都是在对字符数组进行操作。因此,我们可以像操作普通的字符数组一样操作字符串,例如修改其某个字符、获取其长度等。

总结

本文介绍了 C语言中的字符串类型及其常用函数的用法,包括字符串的定义、赋值、输出、比较、查找等操作,以及常用的字符串函数如 strlen、strcpy、strcat、strcmp、strchr、strstr、sprintf 等。

同时,我们还讨论了字符串作为字符数组的一些特性,例如可以修改其某个字符、获取其长度等。掌握字符串函数的使用对于编写高效、简洁的代码非常重要。

到此这篇关于C语言中字符串常用操作总结的文章就介绍到这了,更多相关C语言字符串操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言中字符串常用操作总结

本文链接: https://www.lsjlt.com/news/213885.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中字符串常用操作总结
    目录字符串的定义和初始化字符串的赋值字符串的输入输出字符串的比较字符串的拼接字符串的查找和替换字符串的常用函数strcpy函数strcat函数strlen函数strcmp函数strc...
    99+
    2023-05-20
    C语言字符串常用操作 C语言字符串操作 C语言字符串
  • GO语言字符串常用操作小结
    目录字符串简介常用方法中文字符串截取反转字符串字符串大小写操作去除字符串首位空格合并字符串分割字符串字符串简介 字符串是一段固定长度字符连接起来的字符序列,GO语言中的字符串是由单个...
    99+
    2023-02-09
    GO 字符串常用操作 GO 字符串操作
  • python常用字符串操作的总结
    本篇内容主要讲解“python常用字符串操作的总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python常用字符串操作的总结”吧!1、字符串使用乘法运算符*做乘法运算的含义是复制。>&...
    99+
    2023-06-20
  • Go语言字符串常见操作的使用汇总
    目录1. 字节数组2. 头尾处理3. 位置索引4. 替换5. 统计次数6. 重复7. 大小写8. 去除字符9. 字符串切片处理10. 数值处理1. 字节数组 字节与字符的区别 字节(...
    99+
    2022-11-13
  • python中字符串的常见操作总结(二)
    目录字符串的编码格式什么是编码格式?常见的编码格式字符串格式化什么是字符串格式化?格式化字符串的使用场景第一种格式化方法—%第二种格式化方法–格式化函数for...
    99+
    2022-11-11
  • python中字符串的常见操作总结(一)
    目录前言python中的对象什么是对象?字符串的capitalize()函数capitalize()的功能capitalize()的用法字符串的小写内置函数字符串的upper()函数...
    99+
    2022-11-11
  • Python中字符串的常见操作技巧总结
    本文实例总结了Python中字符串的常见操作技巧。分享给大家供大家参考,具体如下: 反转一个字符串 >>> S = 'abcdefghijklmnop' >>> S[...
    99+
    2022-06-04
    字符串 操作技巧 常见
  • Python3字符串操作方法总结
    这篇文章主要讲解了“Python3字符串操作方法总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3字符串操作方法总结”吧!1capitalize() 将字符串的第一个字符转换为...
    99+
    2023-06-04
  • C语言中操作字符串的函数详解
    目录一、函数表二、strlen实例三、strcmp实例四、strcpy实例五、stract实例六、strchr实例总结一、函数表 函数名函数功能strlensize_t strlen...
    99+
    2022-11-13
  • C语言的常量和字符串
    目录常量种类字符串总结 常量种类 C语言中,我们常使用的常量有以下几种: 字面常量 const常变量 #define定义的标识符常量 枚举常量 代...
    99+
    2022-11-12
  • Python中常用操作字符串的函数与方法总结
    例如这样一个字符串 Python,它就是几个字符:P,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就编程一个新字符串了;如果这些字符顺序发生...
    99+
    2022-06-04
    字符串 函数 常用
  • Python中字符串的基础介绍及常用操作总结
    目录1.字符串的介绍2.字符串的下标3.字符串切片4.字符串find()操作5.字符串index()操作6.字符串count()操作7.字符串replace()操作8.字符串spli...
    99+
    2022-11-12
  • C语言中的字符串操作方法有哪些
    本文小编为大家详细介绍“C语言中的字符串操作方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的字符串操作方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。字符串在C语言里使用非常多,因为很...
    99+
    2023-06-29
  • R语言中data.frame的常用操作总结
    前言:近段时间学习R语言用到最多的数据格式就是data.frame,现对data.frame常用操作进行总结,其中函数大部分来自dplyr包,该包由Hadley Wickham所作,...
    99+
    2022-11-12
  • C语言中字符串怎么用
    小编给大家分享一下C语言中字符串怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!串的定义零个或多个字符组成的有限序列串的比较 串的比较实际上是在比较...
    99+
    2023-06-26
  • Python字符串常规操作小结
    目录一、前言二、拼接字符串三、计算字符串的长度四、截取字符串五、分隔字符串六、检索字符串1.count()方法2.find()方法3.index()方法4.startswith()方...
    99+
    2022-11-13
  • JavaScript中字符串的常用方法总结
    目录1.字符串长度2.查找字符串中的位置indexOf()lastIndexOf()search()3.提取部分字符串slice()substring()subst ...
    99+
    2022-12-08
    JavaScript字符串常用方法 JavaScript字符串方法 JavaScript字符串
  • 实现C语言常用字符串库函数
    目录strlenstrcpystrcatstrcmp总结strlen 数组长度的计算是通过strlen来的,它的作用就是判断给定的数组元素个数,直到碰到\0结束 函数原型 siz...
    99+
    2022-11-12
  • c语言中字符串与字符串数组详解
    目录字符串字符串输出输入字符串字符串常用方法字符串数组总结字符串 用双引号引起来的就是字符串,字符串由字符组成 字符串使用%s格式化输出 字符串以\0结尾,...
    99+
    2022-11-12
  • 使用C语言实现字符串逆序操作案例
    编写一个函数 reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。 非递归实现: #inc...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作