【发布时间】:2015-03-21 10:24:20
【问题描述】:
我对于修剪字符串“c和c++中的char数组或char指针”使用这个函数:
inline char * trimRight(char * str)
{
char * end = str + strlen(str);
while(str != end)
{
end--;
switch(*end)
{
case ' ':
case '\t':
case '\n':
case '\v':
case '\f':
case '\r':
break;
default:
*(end+1) = '\0';
return end+1;
}
}
return str;
}
但返回此错误(代码中的原因 *(end+1) = '\0' ):
“System.AccessViolationException”类型的未处理异常 发生在 x.exe 中
附加信息:试图读取或写入受保护的内存。 这通常表明其他内存已损坏。
请帮帮我。
【问题讨论】:
-
我的水晶球说你用字符串文字来称呼它。你不能修改那些。一个完整的例子会有很大帮助。
标签: c++ c char-pointer