字符串复制strncpy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串复制strncpy相关的知识,希望对你有一定的参考价值。

1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrncpy(char* dest, const char* src, int n)
 8 {
 9     assert(dest!=NULL && src!=NULL);
10     int count = 0;
11     while (*src != \0)
12     {
13         if (count >= n)
14         {
15             break;
16         }
17         dest[count++] = *src++;
18     }
19     dest[count] = \0;
20     return dest;
21 }
22 
23 int main(int argc, char* argv[])
24 {
25     printf("Hello World!\n");
26     char buf[10] = {0};
27     mystrncpy(buf, "FUCK!", 4);
28     cout << buf << endl;
29     return 0;
30 }

输出:

Hello World!
FUCK!
Press any key to continue

以上是关于字符串复制strncpy的主要内容,如果未能解决你的问题,请参考以下文章

strncpy的用法

strncpy 仅将 16 个字节从一个字符串复制到另一个

strncat和strncpy编写安全的字符串复制函数是否有区别?

C/C++C语言复制字符串及复制函数汇总(strcpy()/memcpy()/strncpy()/memmove())

strcpy()strncpy()和memcpy()对比

使用 strncpy 时出现异常