C语言strncpy,strncat,strncmp函数详解

这篇具有很好参考价值的文章主要介绍了C语言strncpy,strncat,strncmp函数详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

strncpy函数介绍

  1. strncpy函数是一个C标准库函数,使用时应包含头文件#include<string.h>;strncpy函数功能与strcpy函数相同,用于将一个字符串复制到另一个字符串,但strncpy函数不同与strcpy函数的是,strncpy可以指定复制的字符数量。
  2. strncpy函数原型:char *strncpy(char *dest, const char *src, size_t n);
  3. 参数说明:
    dest 目标字符串
    src 源字符串
    n 要拷贝的源字符串的个数

strncpy函数应用

#include<stdio.h>
#include<string.h>
int main()
{
	char dest[11] = "Hello word";
	char src[] = "xxxx";
	strncpy(dest, src,2);
	printf("%s\n", dest);
	return 0;
}

输出结果:
strncpy,C语言函数解析,c语言,开发语言

strncpy函数模拟实现

#include<stdio.h>
#include<string.h>
char*my_strncpy(char* dest, const char* src, size_t num)
{
	char* ret = dest;

	while (num)
	{
		*dest++ = *src++;
		num--;
	}
	return ret;
}
int main()
{
	char dest[20] = {0};
	char src[] = "xxxx";
	printf("%s\n", my_strncpy(dest, src, 3));
	return 0;
}

strncat函数介绍

  1. strncat函数是一个C标准库函数,使用时应包含头文件#include<string.h>;strncat函数功能与strcat函数相同,用于将一个字符串追加到另一个字符串的末尾,但strncat函数不同与strcat函数的是,strncat可以指定追加的字符数量。
  2. strncat函数原型:char * strncat ( char * dest, const char * src, size_t n );
  3. 参数说明:
    dest 目标字符串
    src 源字符串
    n 要追加的源字符串的数量

strncat函数应用

	#include<stdio.h>
#include<string.h>
int main()
{
	char dest[10] = "Hello";
	char src[10] = "xxx";
	strncat(dest, src, 2);
	printf("%s\n", dest);
	return 0;
}

输出结果
strncpy,C语言函数解析,c语言,开发语言

strncat函数模拟实现

#include<stdio.h>
#include<assert.h>
char* my_strncat(char* dest,const char* src, size_t x)
{
	assert(dest && src); 
	char* ret = dest;
	while (*dest)
	{
		dest++;
	}
	while (x)
	{
		*dest++ = *src++;
		x--;
	}
	return ret;
}
int main()
{
	char dest[20] = "Hello";
	char src[10] = "xxx";
	size_t x = 2;
	my_strncat(dest, src, x);
	printf("%s\n", my_strncat(dest, src, x));
	return 0;
}

strncmp函数介绍

  1. strncmp函数是用于比较两个字符串中前n个字符是否相同,若相同返回0,若第一个字符串中的参数小于第二个字符串则返回一个小于的书,若大于则返回一个大于0的数;
  2. strncmp函数是一个C标准库函数,使用时应包含头文件#include<string.h>;
  3. 函数原型为:int strncmp(const char *s1, const char *s2, size_t n);
  4. 参数说明:
    s1:要比较的第一个字符串
    s2:要比较的第二个字符串
    n:要比较的字符数

strncmp函数应用

#include<stdio.h>
#include<string.h>
int main()
{
	char dest[20] = "abe";
	char src[20] = "abd";
	int ret=strcmp(dest, src,3);
	printf("%d\n", ret);
	return 0;
}

输出结果:
strncpy,C语言函数解析,c语言,开发语言文章来源地址https://www.toymoban.com/news/detail-765910.html

strncmp函数模拟实现

#include<stdio.h>
int my_strcmp(char* arr1, char* arr2,size_t x)
{
	while (*arr1 == *arr2)
	{
		if (*arr1 == '\0')
		{
			return 0;
		}
		x--;
		if (x == 0)
		{
			break;
		}
		arr1++;
		arr2++;
	}
	return *arr1 - *arr2;
}
int main()
{
	char arr1[20] = "abf";
	char arr2[20] = "abd";
	size_t x = 3;
	int ret = my_strcmp(arr1, arr2,x);
	printf("%d\n", ret);
	return 0;
}

到了这里,关于C语言strncpy,strncat,strncmp函数详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++面试八股文:如何实现一个strncpy函数?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第31面: 面试官: strcpy 函数使用过吧? 二师兄:用过。 面试官:这个函数有什么作用? 二师兄:主要用做字符串复制,将于字符从一个位置复制到另一个位置。 面试官: strncpy 函数也使用过吧,和 strcpy 有何不同? 二师兄:

    2024年02月11日
    浏览(53)
  • 提升内功之模拟实现库函数strlen/strncpy/strcmp/strcat/strstr/memcpy/memmove

    strlen函数的作用就是求字符串的首元素开始往后计算字符串的长度,直到’\\0‘,但不会把\\0的长度计算进去 strncpy的作用就是从source指向的字符串复制num个字节的内容到destination指向的字符串去 如果source的长度小于num,则填充0 注意source和destination的内容在空间上不要重叠,如

    2024年02月16日
    浏览(45)
  • 标准C库之strcpy,strncpy函数(拷贝C风格字符串、拷贝字符串,可指定拷贝长度)

    如果,想要深入的学习标准C库中strcpy,strncpy函数,还是需要去自己阅读Linux系统中的帮助文档。 具体输入命令: 即可查阅到完整的资料信息。 strcpy 函数是 C 语言标准库中的一个函数,它用于将一个字符串(C 语言中以字符数组表示的字符串)复制到另一个字符串。 strcpy 函

    2023年04月26日
    浏览(43)
  • 【C语言】C语言 atoi 函数解析

      🧑‍🎓 个人主页:简 料   🏆 所属专栏: C语言   🏆 个人社区:越努力越幸运社区   🏆 简       介: 简料简料,简单有料~在校大学生一枚,专注C/C++/GO的干货分享,立志成为您的好帮手 ~ C/C++学习路线 (点击解锁)(●’◡’●) ❤️ C语言 ❤️ 初阶数据结构与算法

    2024年02月07日
    浏览(68)
  • C语言——atoi函数解析

    目录 前言 atoi函数的介绍 atoi函数的使用 atoi函数的模拟实现 前言 对于 atoi 函数大家可能会有些陌生,不过当你选择并阅读到这里时,请往下阅读,我相信你能对 atoi 函数熟悉 该函数的头文件为 stdlib.h  或  cstdlib atoi函数的介绍 此函数的功能是将数字字符的字符串转化为字

    2024年01月19日
    浏览(40)
  • C语言Printf函数深入解析

    Printf这个函数让大家又爱又恨,第一次接触c语言编程,基本都是调用printf打印“Hellow World!”,但当真正深入使用编程后,才发现printf并不是一个简单的函数。尤其是从事嵌入式软件工作的开发人员,会经常接触printf挂接驱动、printf重入的问题。 本文详细解释printf函数的工作

    2024年02月11日
    浏览(43)
  • C语言《超详细解析内存函数》

    memcpy指的是C使用的内存拷贝函数。 函数原型: (一)、参数: de:指向用于存储内容的目标数组,类型强制转换为void 指针。 sr:指向要复制的数据源,类型强制转换为void 指针 n:要被复制的字节数。 为什么要使用void* ,当传参的时候我们不知道传的是什么类型,而void就像

    2024年02月14日
    浏览(45)
  • c语言内存函数的深度解析

      本章对  memcpy,memmove,memcmp  三个函数进行详解和模拟实现; 本章重点:3个常见内存函数的使用方法及注意事项并学会模拟实现; 如果您觉得文章不错,期待你的一键三连哦,你的鼓励是我创作的动力之源,让我们一起加油,一起奔跑,让我们顶峰相见!!! 1.memcpy函数

    2024年02月15日
    浏览(40)
  • 【C语言】深入解析C语言中的回调函数及其应用

    目录 什么是回调函数? 回调函数有什么作用? 额外的进阶用法? 1. 传递多个参数: 2. 回调函数和数据封装: 3. 函数指针的灵活性: 回调函数的概念可能有些抽象,让我们尝试用一个简单的生活场景来解释它。假设你有一项重要任务需要完成,但任务的一部分要依赖于其他

    2024年02月12日
    浏览(52)
  • 逍遥自在学C语言 | 函数初级到高级解析

    函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用、模块化的单元。 本文将逐步介绍C语言函数的基础概念、参数传递、返回值、递归以及内联函数和匿名函数。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包