Cherries Man 2023-01-07 23:11 采纳率: 100%
浏览 176
已结题

C++遍历中文字符串,并与中文字符进行比较

C++ 如何按照索引提取中文字符串中的某个字符,并进行比较?
我写了下面的代码,但是会出现问题,如下:

img

一种做法是转换成w_char,用c语言风格的字符串,请问各位还有别的办法吗?

  • 写回答

2条回答 默认 最新

  • 会修bug的猫 2023-01-08 01:16
    关注

    可以去了解一下中文GB2321编码格式
    下面代码提供一个简单的思路

    #include<iostream>
    #include<string>
    using namespace std;
    string deleteMultiZero(string str) {
        string res = "";
    
        for (int i = 0; i < str.length() - 1;) {
            string temp="";
            if (str[i] < 0) {   //假设只有中英文的话可以这样简单判断
                temp = temp+str[i]+str[i+1];
                i += 2;
            }
            else {
                temp += str[i];
                i++;
            }
            if (temp != "零") {
                res += temp;
            }
        }
        return res;
    }
    
    int main(){
        string str = deleteMultiZero("贰仟123零01abc零贰");
        cout << str;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)