C语言strncpy函数教程

strncpy 是一种 C 语言的标准库函数,在拷贝时,我们可以指定最多复制 n 个字符。当源字符串的长度小于 n 时,目的字符串的剩余部分将用空字节填充。

strncpy函数详解

语法

char *strncpy(char *dest, const char *src, size_t n);

参数

参数

描述

dest

指向用于存储复制内容的目标

src

要复制的字符串。

n

要从源中复制的字符数。

返回值

该函数返回最终复制的字符串。

说明

在使用字符串拷贝函数时,我们最好选择使用 strncpy 函数,而不是 strcpy 函数,因为 strncpy 函数,我们可以控制拷贝的字符数,是安全的,而 strcpy 函数,我们不可以控制字符数,不安全。

技术细节

使用 strncpy 函数,需要引入 string.h 头文件。

案例

C语言字符串复制

使用 strncpy() 函数,实现字符串的拷贝

#include

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

char dest[20] = { 0 };

char src[20] = "Hello, HaiCoder";

strncpy(dest, src, 20);

printf("Dest = %s\n", dest);

return 0;

}

程序运行后,控制台输出如下:

我们首先定义了一个字符数组 dest,赋值为空,接着,我们再次定义了一个字符数组 src 并赋值。接着,我们使用了 strncpy 函数实现了将 src 字符串拷贝到了 dest 字符串,同时,我们指定了拷贝 20 个字符。

最后,我们打印了 dest 字符串,发现都和 src 字符串相等。即,我们使用了 strncpy 函数实现了字符串的拷贝。

C语言字符串复制

使用 strncpy() 函数,实现字符串的拷贝

#include

#include

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

char dest[10] = { 0 };

char src[20] = "Hello, HaiCoder";

strncpy(dest, src, 10);

printf("Dest = %s\n", dest);

return 0;

}

程序运行后,控制台输出如下:

这次,拷贝字符串时,我们指定了只拷贝十个字符,因此,我们可以看到,没有拷贝整个字符串。

C语言字符串拷贝strncpy函数总结

strncpy 是一种 C 语言的标准库函数,在拷贝时,我们可以指定最多复制 n 个字符。当源字符串的长度小于 n 时,目的字符串的剩余部分将用空字节填充。

在使用字符串拷贝函数时,我们最好选择使用 strncpy 函数,而不是 strcpy 函数,因为 strncpy 函数,我们可以控制拷贝的字符数,是安全的,而 strcpy 函数,我们不可以控制字符数,不安全。

c语言拷贝特定个数的字符串,C语言strncpy函数相关推荐

  1. 7-105 sdut-C语言实验——三个数排序7-106 sdut-C语言实验——模拟计算器7-107 sdut-C语言实验——找中间数

    目录 7-105 sdut-C语言实验--三个数排序 7-106 sdut-C语言实验--模拟计算器 7-107 sdut-C语言实验--找中间数 7-105 sdut-C语言实验--三个数排序 分数 ...

  2. c语言让参数等于空字符串,C语言模拟实现字符串操作函数

    前言 在编写程序过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串--,这些函数都在C标准库中存在,我们可以直接使用.但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作 ...

  3. c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题

    #include int main() { char a,b; scanf("%c",&a): scanf("%c",&b); printf(& ...

  4. c语言用一维数组求字符串,c语言一维数组练习题.doc

    c语言一维数组练习题 精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言一维数组练习题 4.1内容概述 本章主要介绍了数值数组和字符数组的 ...

  5. C语言输入一串数字字符串,C语言——输入一个字符串,将连续数字字符转换为数字(示例代码)...

    输入一个字符串,内有数字和非数字字符,例如: A123cdf 456.78cpc876.9er 849.1 将其中连续的数字作为一个实数,依次存放到一数组a中.例如123存放在a[0],456.78存 ...

  6. C语言中三个数排列大小,C语言三个数排列大小的实现方法

    这个题简单,也有很多的方法,在这里我想用数学的方法解决排序问题.ps:本人是个学渣,程序写的不好,欢迎各位大神指点帮助. 梳理思路: 以1 2 3为例 先考虑我们所有的可能输入类型(这里不一一列举): ...

  7. c语言用scanf输入指针字符串,c语言如何用scanf输入字符串

    在C语言中,可以使用"scanf("格式控制字符串",变量内存地址)"语句输入字符串.scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式 ...

  8. c语言读取txt到一个字符串,c语言读取txt文件内容简单实例

    在C语言中,文件操作都是由库函数来完成的. 要读取一个txt文件,首先要使用文件打开函数fopen(). fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件 ...

  9. c语言中通过分隔符取字符串,C语言切割多层字符串(strtok_r strtok使用方法)

    1. strtok介绍 众所周知,strtok可以根据用户所提供的分割符(同时分隔符也可以为复数比如",.") 将一段字符串分割直到遇到"\0". 比如,分隔符 ...

最新文章

  1. 机器学习数据清洗之缺失值处理、缺失的原因、缺失值删除、缺失值填充、KNN填充
  2. matlab根轨迹法串联超前校正,4.7基于根轨迹法的串联超前校正.ppt
  3. 常见Oracle HINT的用法
  4. 跨越语言障碍!哈工大联合MSRA提出多任务、多模态、多语言的统一预训练模型M3P (CVPR 2021)...
  5. eclipse html自动编译器,Eclipse+WxWidgets开发环境搭建
  6. SqlServer2008镜像证书过期处理
  7. php编码函数 base58,php – Base58编码Peercoin公钥的步骤
  8. 【数学建模】排队论(最优化)
  9. 匈牙利算法和KM算法的理解
  10. 世界上第一部智能手机27岁了
  11. Solaris环境下使用snoop命令抓包
  12. 算法-斐波那契数列Fibonacci
  13. 朴实无华之一万字统计学知识大梳理
  14. 在flask中同步调用celery.task函数报错分析
  15. netty源码分析7-NioEventLoop-run方法疑难点
  16. 小型直播系统系列-乐聊TV的开发(三)
  17. 秒杀刘海屏,有望实现手机|平板|电脑三合一,可折叠屏幕究竟是何方神圣?
  18. 音频声学基础一,基本概念介绍
  19. 盛大锦书注册到云梯的 C# 程序
  20. 74HC138,74HC02,74HC573的联合应用,第十三届 蓝桥杯省赛 代码+仿真演示 (51单片机也可以用)。

热门文章

  1. Android mk 引用 jar 包、so 库、aar 包,系统签名
  2. 高效率DC-DC变换器3A输出电流,24v转3.3v稳压芯片
  3. 《鬼谷子本经阴符七术》1五龙盛神法 (原文)
  4. 使用 Stylish 插件替换浏览器的默认字体
  5. linux中vim中swapfile,在vim中撤消从交换文件恢复(Undo recovery from swap file in vim)
  6. 信息熵,信息增益详解
  7. webgl天空盒边界缝隙_OPENGL中天空盒缝隙消除的解决办法
  8. 有关路由汇总(路由的包含与被包含关系)的一点小感悟
  9. mysql 1118_mysql数据库插入数据错误Error Code: 1118 - Row size too large ( 8126)
  10. ICPC2017 Naning - The Maximum Unreachable Node Set