如何修改只读内存中的char

时间:2018-04-06 19:48:13

标签: c++ pointers

当我尝试编辑像这样的字符指针的值时,我得到了访问冲突。我知道,编译器将它定位在只读内存块中,但是有没有办法解除这个问题,如GlobalUnlock()HeapUnlock()

int main()
{
    char* foo = "Hello";
    *foo = 'B'
}

1 个答案:

答案 0 :(得分:5)

无需使用锁定/解锁。把事情简单化。如果您打算修改字符串,请使用char数组或std::string

char foo[] = "Hello";
*foo = 'B'

std::string foo = "Hello";
foo[0] = 'B'