函数原型:

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

功能:从字符串source中复制 num个字符到字符串destination中,返回指向字符串destination的指针。

使用注意:destination串要保证能够容得下复制的内容,即destination的长度要大于num。

当num大于source的长度的时候,会在后面补\0。

Example

<span style="font-size:12px;">/* strncpy example */
#include <stdio.h>
#include <string.h> int main ()
{
char str1[]= "To be or not to be";
char str2[40];
char str3[40]; /* copy to sized buffer (overflow safe): */
strncpy ( str2, str1, sizeof(str2) ); /* partial copy (only 5 chars): */
strncpy ( str3, str2, 5 );
str3[5] = '\0'; /* null character manually added */ puts (str1);
puts (str2);
puts (str3); return 0;
}</span>

Output:

To be or not to be
To be or not to be
To be

使用时的三种情形:

    char *str1="abcd";//长度为5
char str2[]="123456789";

情形1:

    strncpy(str2,str1,3);

从str1中复制3个字符到str2

结果:str2变为"abc456789"

情形2:

    strncpy(str2,str1,5);

从str1中复制5个字符到str2,此时相当于strcpy(str2,str1);

结果:str2变为"abcd\06789"

情形3:

    strncpy(str2,str1,7);

从str1复制7个字符到str2(由于7大于str1的长度5,会在后面补2个\0)

结果:str2变为"abcd\0\0\089"

最新文章

  1. TextClock的基本使用
  2. Java输入/输出流体系
  3. span width无效
  4. 转:C# 使用NLog记录日志
  5. ScrumMaster需要了解的7件事
  6. python手记(39)
  7. [ACM] hdu 5045 Contest (减少国家Dp)
  8. Linux配置SSH端口以及密钥登录
  9. MAC 终端走代理服务器
  10. MQ(队列消息的入门)
  11. Javascript异步编程之二回调函数
  12. bzoj1007/luogu3194 水平可见直线 (单调栈)
  13. jQuery源码中的“new jQuery.fn.init()”什么意思?
  14. 使用U盘为虚拟机安装系统
  15. vim/vi中移动光标键会变成A,B,C,D的解决办法
  16. JAVA复习笔记之多线程并发
  17. Jquery的方法(一)
  18. Xilinx IP核的根目录地址,有datasheet 和仿真相关的资料
  19. IAsyncResult接口
  20. [java] java 实现FTP服务器文件的上传和下载

热门文章

  1. Google Code Jam 2014 Round 1 A:Problem B. Full Binary Tree
  2. Android Studio 2.0 稳定版新特性介绍
  3. Python中使用__new__实现单例模式并解析
  4. 九度OJ 1193:矩阵转置 (矩阵计算)
  5. Residual (numerical analysis)
  6. 第一个Spring Boot程序启动报错了
  7. 关于matlab曲线拟合的问题
  8. JQuery 双击动态编辑
  9. 【leetcode刷题笔记】Largest Rectangle in Histogram
  10. 【leetcode刷题笔记】Combination Sum