首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++去除字符串符号有关问题

2013-09-28 
C++去除字符串符号问题char *str 青年杂志(上半年)int i, jfor (i j 0 str[i] ! \0 i++){i

C++去除字符串符号问题

char *str = "青年杂志(上半年)";

    int i, j; 
    for (i = j = 0; str[i] != '\0'; i++) 
    { 
        if (!ispunct(str[i])) 
        {
            str[j++] = str[i]; 
        } 
    } 
    str[j] = '\0';
    cout<<str<<end

想去除括号,这种方法怎么不对?请教?谁有更好、更快的办法? c++ 字符串
[解决办法]

char *str = "青年杂志(上半年)";
 //字符串常量,不能修改它的值的,只是可读的空间
//ispunct函数是判断非空格、非数字和非英文字母而已,还有其他的

[解决办法]
在ANSI C标准中禁止对string literal作出修改。K&R C中对这一问题的说明是,试图修改字符串常量的行为是未定义的。

热点排行