当前位置: 首页 > news >正文

打怪升级之字符串的分界符与字符串替换

流的字符串分界符

在C++的iostream中,有流的字符串分界符:

" “和”"都代表简单的分隔。

因此,使用流来做字符串分隔的话,有一个比较简单的方案就是将原定义的分隔符通过替换的方式变成流的分隔符。然后再录入流中就能自然的实现字符串的分隔了。

如何针对字符串进行替换

这里以最常见的一个例子来说。“,”分隔符经常出现再csv之类的文件中。

如果你使用的是普通string类型(char* 或者char[]也可以),那么你可以直接使用string.replace(x,y)把x变成y的函数。

如果你是CString的话,你可以看下面这个例子:

void CMFCSTREAMREPLACEDlg::OnBnClickedReplace()
{// TODO: 在此添加控件通知处理程序代码CString str;STRING_E.GetWindowText(str);CString x = _T(",");CString y = _T(" ");str.Replace(x,y);STRING_E.SetWindowText(str);
}

在这里插入图片描述

这是进行替换前的数据。

在这里插入图片描述

这是进行替换后的数据。

完成替换后,使用流进行分割

流会自动识别出空格来,把一个连续的字符串分割成一份一份的。

我们可以把CString字符串转String后录入流中再读取(分隔嘛),代码如下:

void CMFCSTREAMREPLACEDlg::OnBnClickedDivide()
{// TODO: 在此添加控件通知处理程序代码CString str;STRING_E.GetWindowText(str);CString x = _T(",");CString y = _T(" ");str.Replace(x, y);STRING_E.SetWindowText(str);//CString转Stringsize_t i;int iSize;iSize = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); //iSize =wcslen(pwsUnicode)+1=6char* pMBBuffer = (char*)malloc(iSize);wcstombs_s(&i, pMBBuffer, (size_t)iSize,str, (size_t)iSize - 1);istringstream is(pMBBuffer);char buff;while (is>>buff) {CString box(buff);MessageBox(box);}
}

效果是把输入的字符串实现了一份一份的输出:

在这里插入图片描述

输入完成后,点击DIVIDE按钮实现了一份一份的输出:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/35989.html

相关文章:

  • 载荷台子使用方式
  • 1005 继续(3n + 1)猜想
  • VMware15配置NAT模式联通网络
  • doPost的实际使用
  • 2017年MathorCup数学建模A题流程工业的智能制造解题全过程文档及程序
  • HNU-电子测试平台与工具2-数模转换
  • CentOS7安装Telnet客户端和服务端和使用方式
  • 脂肪毒性的新兴调节剂——肠道微生物组
  • 【JavaSE系列】 第九节 —— 多态那些事儿
  • ego微商小程序项目-测试步骤
  • 华为OD机试用Python实现 -【报数游戏】2023Q1 A卷
  • Plsql使用
  • 小丑改造计划之四线程控制
  • Spring注册Bean的几种方式
  • Egg:使用joi进行参数校验以及注册接口小demo
  • 天梯赛训练L1-016(查验身份证)
  • 技术方案评审
  • Python机器学习库scikit-learn在Anaconda中的配置
  • yarn init 没有 ts 类型声明
  • 孩子喜欢打人父母要怎么引导?听听专家的小建议
  • Hive中order by,sort by,distribute by,Cluster by
  • PyTorch的自动微分(autograd)
  • sum-check protocol
  • 数据结构刷题(二十一):131分割回文串、78子集
  • Spring Aop 详解
  • 【数据库死锁】线上问题之数据库死锁
  • 好友管理系统--课后程序(Python程序开发案例教程-黑马程序员编著-第4章-课后作业)
  • Redis 集群 Redis Cluster搭建
  • 博客系统(前后端分离版)
  • 第十二章 opengl之模型加载(Assimp)