小编Ann*_*nne的帖子

在C++中创建一个可修改的字符串文字

是否可以在C++中创建可修改的字符串文字?例如:

char* foo[] = {
    "foo",
    "foo"
};
char* afoo = foo[0];
afoo[2] = 'g'; // access violation
Run Code Online (Sandbox Code Playgroud)

这会产生访问冲突,因为"foo"被分配在只读存储器中(我相信.rdata部分).有没有办法强迫"foo"进入可写内存(.data部分)?即使通过一个pragma也是可以接受的!(Visual Studio编译器)

我知道我可以做strdup和其他一些事情来解决这个问题,但是我想特别知道我能不能按照我的要求去做.:)

c++ string

5
推荐指数
3
解决办法
1929
查看次数

标签 统计

c++ ×1

string ×1