如何修改只读内存中的char

-3 c++ pointers

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

int main()
{
    char* foo = "Hello";
    *foo = 'B'
}
Run Code Online (Sandbox Code Playgroud)

R S*_*ahu 5

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

char foo[] = "Hello";
*foo = 'B'
Run Code Online (Sandbox Code Playgroud)

要么

std::string foo = "Hello";
foo[0] = 'B'
Run Code Online (Sandbox Code Playgroud)