【技术分享】C++ strcpy strncpy 函数
2021-04-12 / 0 评论 / 11 阅读 / 2 点赞

【技术分享】C++ strcpy strncpy 函数

发光的神
2021-04-12 / 0 评论 / 11 阅读 / 正在检测是否收录...

简介

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,ac

1.这个函数要注意,很有可能会导致内存溢出,我给他的buf是 _dst1[1024],如果要复制的内容超出1024那么就会导致溢出。

2

评论 (0)

取消
0:00