MFC字符串CString分割函数 简洁 C++

介绍:

适用于.txt、.dat文件读取后运用字符串分割函数

这是我目前找得到的最简单的CString字符串分割函数

//***********************************
//字符分割函数
//***********************************
int Do::Div(const CString strLine, char split, CStringArray &strArray)
{
	strArray.RemoveAll();//自带清空属性
	CString temp = strLine;
	int tag = 0;
	while (1)
	{
		tag = temp.Find(split);
		if (tag >= 0)
		{
			strArray.Add(temp.Left(tag));
			temp = temp.Right(temp.GetLength() - tag - 1);
		}
		else { break; }
	}
	strArray.Add(temp);
	return strArray.GetSize();
}

演示(VS2010/VS2017):

演示代码:

int Div(const CString strLine, char split, CStringArray &strArray)
{
	strArray.RemoveAll();//自带清空属性
	CString temp = strLine;
	int tag = 0;
	while (1)
	{
		tag = temp.Find(split);
		if (tag >= 0)
		{
			strArray.Add(temp.Left(tag));
			temp = temp.Right(temp.GetLength() - tag - 1);
		}
		else { break; }
	}
	strArray.Add(temp);
	return strArray.GetSize();
}

void CCStringdemoDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	//CDialogEx::OnOK();
	UpdateData(TRUE);
	CStringArray array;
	int n = Div(content, ',', array);//开始使用
	int a = _ttoi(array[1]);//_ttoi  CString->int
	double b = _tstof(array[2]);//_tstof  CString->double
	CString c = array[3]; //CString直接来承接
	

	CString strOut;
	strOut.Format(_T("%d\r\n"),a);
	sreOut1 += strOut;
	strOut.Format(_T("%f\r\n"), b);
	sreOut1 += strOut;
	strOut.Format(_T("%s\r\n"), c);
	sreOut1 += strOut;
	UpdateData(FALSE);
}

演示结果:

在这里插入图片描述

参数解释:

形参strLine: 是用来承接需分割的内容 例如我的上例:A,99.9,11.23456,Success! 实参是 content
形参split: 是基于什么来分割 我的例子是英文的, 所以参数里面是 实参是 ‘,’
形参strArray: 分割后的内容按先后顺序放入 我的例子 实参是新建的CStringArray型 array
返回值n:返回strArray中的大小

分割后的内容全部装在strArray中

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值