字符** 和字符 [][] 的strcpy_s
strcpy_s for char** and char[][]
我使用了如下strcpy_s
:
char names[2][20];
strcpy_s(names[0],"Michael");
strcpy_s(names[1],"Danny");
而且效果很好。
但是当我改成char **
,
int size1=2;
int size2=20;
char **names=new char*[size1];
for(int i=0;i<size1;i++)
names[i]=new char[size2];
strcpy_s(names[0],"Michael");
strcpy_s(names[1],"Danny");
它给了我这个错误消息:
错误 C2660:"strcpy_s":函数不接受 2 个参数
为什么会这样?我需要动态创建字符数组,那我该怎么办?
有两种
形式的strcpy_s
(至少在Windows上):一种用于指针,一种用于数组。
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
template <size_t size>
errno_t strcpy_s(
char (&strDestination)[size],
const char *strSource
); // C++ only
使用指针时,必须指定目标缓冲区的元素数:
strcpy_s(names[0], size2, "Michael");
strcpy_s(names[1], size2, "Danny");
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 使用strcpy将char数组的元素复制到另一个数组
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在函数 strcpy() 中访问字符数组时出现分段错误
- 澄清了 strcpy() 在像这样初始化字符数组时的工作 *Arr.
- C++/Arduino:strcpy()、strncpy() 和 memcpy() 在无符号字符上不起作用
- 当我运行字符 * name1 = 新字符[ 6 ]时会发生什么;strcpy( 名称1, "Henry" );字符 * 名称 2 = 名称 1;名称1[0] = 'D';
- 用“ strcpy”在2D数组中删除(字符)的一行(字符)时是否存在任何错误
- 由 strcpy 设置的解除分配字符 * 时内存泄漏?
- strcpy正在复制sth字符i字符串.如何解决此错误
- 使用 STRCPY 将 2d 字符数组复制到另一个 2d 数组中
- Strcpy不会复制已分配的字符数组
- 如何strcpy和返回复制的字符数
- 如何使用 strcpy 将字符串复制到字符数组中
- 错误 C2664:'strcpy':无法将参数 2 从 'const wchar_t [9]' 转换为"常量字符 *"。如何解决此错误?
- "strcpy":无法将参数 2 从"WCHAR *"转换为"常量字符 *