strnpy函数
2024-09-07 19:07:49
函数原型:
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"
最新文章
- TextClock的基本使用
- Java输入/输出流体系
- span width无效
- 转:C# 使用NLog记录日志
- ScrumMaster需要了解的7件事
- python手记(39)
- [ACM] hdu 5045 Contest (减少国家Dp)
- Linux配置SSH端口以及密钥登录
- MAC 终端走代理服务器
- MQ(队列消息的入门)
- Javascript异步编程之二回调函数
- bzoj1007/luogu3194 水平可见直线 (单调栈)
- jQuery源码中的“new jQuery.fn.init()”什么意思?
- 使用U盘为虚拟机安装系统
- vim/vi中移动光标键会变成A,B,C,D的解决办法
- JAVA复习笔记之多线程并发
- Jquery的方法(一)
- Xilinx IP核的根目录地址,有datasheet 和仿真相关的资料
- IAsyncResult接口
- [java] java 实现FTP服务器文件的上传和下载
热门文章
- Google Code Jam 2014 Round 1 A:Problem B. Full Binary Tree
- Android Studio 2.0 稳定版新特性介绍
- Python中使用__new__实现单例模式并解析
- 九度OJ 1193:矩阵转置 (矩阵计算)
- Residual (numerical analysis)
- 第一个Spring Boot程序启动报错了
- 关于matlab曲线拟合的问题
- JQuery 双击动态编辑
- 【leetcode刷题笔记】Largest Rectangle in Histogram
- 【leetcode刷题笔记】Combination Sum