【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。
2015-11-22 16:07
489 查看
比较strncpy与strcpy联系:
两者均为字符串拷贝函数,用于拷贝字符串。
[b]比较strncpy与strcpy区别:[/b]
strcpy比较时找字符串结束标志‘\0’,一旦找到 ‘\0’,比较结束。而后者我们可以根据实际情况完成指定长度n的字符串拷贝,因此函数strcpy里面多了一个字母n,即strncpy.由此,从此处看strncpy比strcpy功能强大一点。
关于strcpy可以查看我的博客链接:http://10740184.blog.51cto.com/10730184/1714516
strncpy代码如下:
两者均为字符串拷贝函数,用于拷贝字符串。
[b]比较strncpy与strcpy区别:[/b]
strcpy比较时找字符串结束标志‘\0’,一旦找到 ‘\0’,比较结束。而后者我们可以根据实际情况完成指定长度n的字符串拷贝,因此函数strcpy里面多了一个字母n,即strncpy.由此,从此处看strncpy比strcpy功能强大一点。
关于strcpy可以查看我的博客链接:http://10740184.blog.51cto.com/10730184/1714516
strncpy代码如下:
#include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> char* my_strncpy(char* dest, const char* src, size_t count) { assert(src); char* strdest= dest; while (count--) { *dest++ = *src++; } *dest = '\0'; return strdest; } int main() { char arr1[10] = { 0 }; char arr2[] = "hello world!"; char* ret = my_strncpy(arr1, arr2, 2); printf("%s", ret); system("pause"); return 0; }
相关文章推荐
- 一个关于if else容易迷惑的问题
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 一道sql面试题附答案
- C# 超高面试题收集整理
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置