Reverse String
- C/C++ code
#include <iostream>#include <cstring>using namespace std;void reverse(char* str);int main(){ char* str = "character"; reverse(str); return 0;}void reverse(char* str){ char* pbegin = str; unsigned len = strlen(str); char* pend = pbegin + len - 1; while(pbegin < pend) { char tem = *pbegin; *pbegin++ = *pend; *pend-- = tem; }}一个简单的reverse string 程序居然异常,求解...
[解决办法]
修改常量区自然不行
char* str = "character";
修改为
char str[64] = "character";
[解决办法]
#pragma comment(linker,"/SECTION:.rdata,RW")
加上面这句让常量区可写
[解决办法]
楼主,1楼的意思是char* str = "character";中定义的str指针,指向的内容是常量(注意是指向的内容是常量,str本身不是常量),所以这一句*pbegin++ = *pend;会出现异常。你改成char str[] = "character";应该就可以了。