长度受限制的字符串函数

前言:

本博客共介绍了三种长度受限制的字符串函数:strncpy、strcmp、strncat


strncpy函数的介绍及其应用:

strncpy函数的设计:

        char * strncpy (char * destination, const char * source ,size_t num);

  1. num是限制要拷贝的字符个数;
  2. strncpy的头文件是:#include <string.h>
  3. 提示:每段代码的注释都具有详细解释功能

strncpy的应用:

#include <stdio.h>
#include <string.h>

int main()
{
	char arr[20] = "abcdef";
	char arr1[] = "xxxx";

	strncpy(arr, arr1, 2);//只拷贝了2个
    //如果拷贝的个数超过了arr1的元素总数,就会用'\0'来补充
	//而'\0'根本就不会被打印出来(详见调试的监视窗口)
	//所以在终端看来就是把arr1的全部拷贝过来了而已

	printf("%s\n", arr);
	return 0;
}

结果:

注释见下图:


strncmp函数的介绍及其应用:

strncmp函数的设计:

       strncmp:int strncmp ( const char * str1 , const char * str2 , size_t num );

  1. num是限制要比较的字符个数;
  2. strncmp的头文件是:#include <string.h>
  3. 提示:每段代码的注释都具有详细解释功能

strncmp的应用:

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[] = "abde";
	char arr2[] = "abdefjs";
	int ret = strncmp(arr1, arr2, 6);
	printf("%d\n", ret);
	return 0;
}

结果:和strcmp就一个字符个数的限制的差别


strncat函数的介绍及其应用:

strncat函数的设计:

        strncat:char * strncat (char * destination , const char * source , size_t num);

  1. num是限制要拷贝的字符个数;
  2. strncat的头文件是:#include <string.h>
  3. 追加以后会加上'\0'
  4. 可以自己追加自己
  5. 提示:每段代码的注释都具有详细解释功能

strncat的应用:

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[20] = "abcdef\0qqqqq";
	//通过在arr1中间段放'\0'来确定在将x y追加在后面的同时也会将'\0'追加过来
	//起初:char arr1[20]="abcdef";
	//将x y追加过来以后,经过调试发现arr1里是abcdefxy\0
	//为确定\0是arr1的还是arr2的
	//便将arr1改为最上面的样式
	//调试后可在监视窗口发现
	//arr1变成了abcedfxy\0qqqq
	//由此可见
	//是追加过去的
	//只能在调试的监视窗口看
	//因为遇到'\0'完全不打印了
	//两次结果完全没有差别

	char arr2[] = "xyz";
	strncat(arr1, arr2, 2);
	printf("%s\n", arr1);
	return 0;
}

结果:

注释见下图: 

追加以后会加上'\0':


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值