c语言String字符串函数探幽

本文探讨了C语言中常用的字符串函数,包括strlen()、strcat()、strncat()、strcmp()、strncmp()、strcpy()、strncpy()以及memcpy()、memmove()。详细解释了每个函数的功能、使用方法和注意事项,帮助读者深入理解C语言字符串操作。
摘要由CSDN通过智能技术生成

字符串函数探幽

字符串函数位于头文件 string.h 中,该文件包含字符串常用函数:strlen()、strcat()、strcmp()、strncmp()、strcpy()、strncpy()和sprintf()函数。

1、strlen()函数

1、用于得到字符串的长度。
函数原型 size_t __cdecl strlen(const char *_Str);,函数接收一个字符串的首地址。
2、strlen()函数遇到'\0’字符结束,即计算‘\0’之前的字符个数。

#include<stdio.h>
#include<string.h>
int main(){
   
	char string[]="Hello World!";
	printf("字符串长度:%d",strlen(string));	//输出12
	*(string+6) = '\0';
	printf("\n中间添加空字符:%d",strlen(string));	//输出6
	return 0;
} 

在这里插入图片描述

2、strcat()、strncat()函数

1、strcat()(代表 string concatenation)函数接收两个字符串参数。它将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串橙味一个新的组合字符串,第二个字符串并没有改变。这个函数返回它的第一个参数的值。

函数原型 char * __cdecl strcat(char * __restrict__ _Dest,const char * __restrict__ _Source);,函数接收两个参数,分别是目标字符串的首地址和原字符串的首地址,其中原字符串首地址应以const类型传入。

2、strcat()函数并不检查第一个数组是否能够容纳第二个字符串。如果没有为第一个数组分配足够大的空间,多出来的字符溢出到相邻存储单元时就会出现问题。

3、strncat()函数需要另一个参数来指明最多允许添加的字符的数目。
函数原型 char *__cdecl strncat(char * __restrict__ _Dest,const char * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;,函数接收三个参数,前两个参数和strcat()函数的参数相同,第三个参数指定最多允许添加的字符的数目_Count

4、函数在添加到_Count数目字符或遇到空字符停止,由二者中先符合的那一个来终止添加过程。_Dest数组应该足够大,以存放原始字符串,添加的最多_Count个字符和结束的空字符。

#include<stdio.h>
#include<string.h>
int main(){
   
	const char * const string="Hello World!";
	char dest1[100]="I'm Duary, ";
	char dest2[
回答: 在C语言中,string函数是一个字符串处理函数库,它包含在<string.h>头文件中。其中常用的函数有strcpy、strlen和strnset。 strcpy函数用于将一个字符串复制到另一个字符串中。它的函数原型是:char *strcpy(char *dest, const char *src)。其中,dest是目标字符串,src是源字符串。这个函数会将src字符串的内容复制到dest字符串中,并返回dest字符串的指针。\[1\] strlen函数用于计算字符串的长度。它的函数原型是:size_t strlen(const char *str)。这个函数接收一个字符串的首地址,然后遍历字符串直到遇到'\0'字符,返回字符串的长度。\[2\] strnset函数用于将指定的字符替换字符串中的一部分字符。它的函数原型是:char *strnset(char *str, int c, size_t n)。其中,str是要操作的字符串,c是要替换的字符,n是要替换的字符个数。这个函数会将字符串中的指定部分字符替换为指定的字符。\[3\] 这些函数都是C语言中常用的字符串处理函数,可以帮助我们进行字符串的复制、长度计算和字符替换等操作。 #### 引用[.reference_title] - *1* *3* [C语言string函数详解](https://blog.csdn.net/weixin_30902251/article/details/99781150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [c语言String字符串函数探幽](https://blog.csdn.net/Duary/article/details/106163396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值