将数组复制到其他数组的中间

时间:2016-08-28 18:44:32

标签: c++ arrays copy

我们说我有两个char数组:

char a[] = "0123456789";
char b[] = "abcde";

现在我需要复制一些' b'进入' a'的中间,所以我将得到这个结果:

0123abcd89

所以我尝试使用std :: copy或std:copy_n

std::copy(b , b+4, a+4); // or

std::copy_n(b , 4, a+4);

两者都会产生错误,而只是在' a'的开头使用它们。数组工作正常:

std::copy(b , b+4, a); // or

std::copy_n(b , 4, a);

在过去,我总是只使用一个循环来做这种事情,但现在我需要一种方法来尽可能有效地完成这项工作。有没有比使用循环更好的方法?

1 个答案:

答案 0 :(得分:0)

好的,问题是VS中的调试模式只有-unsafe函数调用错误,它在发布模式和其他编译器中编译良好。