gpt4 book ai didi

c++ - 使用 C++ 复制而不是 memcpy 的段错误

转载 作者:搜寻专家 更新时间:2023-10-31 00:15:31 25 4
gpt4 key购买 nike

我正在使用 C++ 复制算法来复制字符串文字(而不是 memcpy),但我遇到了段错误,但我不知道为什么。这是代码:

#include <iostream>
#include <cstring>
#include <stdio.h>

using namespace std;

int main(int argc, char *argv[]) {

// if using copy with regular pointers, there
// is no need to get an output iterator, ex:
char* some_string = "this is a long string\n";
size_t some_string_len = strlen(some_string) + 1;

char* str_copy = new char(some_string_len);
copy( some_string, some_string + some_string_len, str_copy);
printf("%s", str_copy);

delete str_copy;
return 0;
}

最佳答案

修复:

char* str_copy = new char[some_string_len];
^ notice square bracket

释放内存使用:

删除[] str_copy;

关于c++ - 使用 C++ 复制而不是 memcpy 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com