【发布时间】:2021-12-22 10:56:35
【问题描述】:
关于如何将一个标准的 c 数组复制到另一个数组是众所周知的:
char test[20] = "asdasd";
char test2[19] = "asdassdsdfd";
strcpy_s(test, sizeof(test), test2);
但是我怎样才能对std::array 做同样的事情呢? (最好没有 for 循环)
std::array<char, 20> test = {"asdasd"};
std::array<char, 19> test2 = {"asdassdsdfd"};
// copy test2 into test
【问题讨论】:
-
您声明了一个
std::arrays 的 C 数组。它将帮助您阅读std::array,也许了解<>中的数字代表什么。 en.cppreference.com/w/cpp/container/array -
就像
array_dest = array_src;一样简单 -
使用
std::array<char, 20> test2[19],您确定要使用std::array的c 数组吗? -
@NathanOliver 我的错,这是一个错字。现已修复。
-
strcpy(或其_s变体)不将一个数组复制到另一个数组。它将一个 C 风格的字符串(即一个以 nul 结尾的char数组)复制到一个char数组中。例如,它不适用于int的数组。