简介
strncpy 与 strcpy 差不多都是字符串复制,strncpy函数就多了一个参数可以指定复制的字符数。
dest -- 指向用于存储复制内容的目标数组。
src -- 要复制的字符串。
n -- 要从源中复制的字符数。
char *strncpy(char *dest, const char *src, size_t n)#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string str = "act"; // 创建字符串变量 str
char _dst1[1024]; // 创建char _dst2
char _dst2[1024]; // 创建char _dst2
memset(_dst1, '\0', sizeof(_dst1)); // 使用函数 memset() 来清除内存位置
strcpy(_dst1, str.c_str()); // 直接复制str里的字符串
strncpy(_dst2, str.c_str(), 2); // 复制字符串 指定两个字符
cout << _dst1 << ","<< _dst2;
return 0;
}输出:act,ac1.这个函数要注意,很有可能会导致内存溢出,我给他的buf是 _dst1[1024],如果要复制的内容超出1024那么就会导致溢出。
评论 (0)