中国建设银行保函查询网站,什么软件可以看网站,江苏做网站的公司有哪些,动漫网站开发毕业设计流的字符串分界符
在C的iostream中#xff0c;有流的字符串分界符#xff1a; “和”都代表简单的分隔。
因此#xff0c;使用流来做字符串分隔的话#xff0c;有一个比较简单的方案就是将原定义的分隔符通过替换的方式变成流的分隔符。然后再录入流中就能…流的字符串分界符
在C的iostream中有流的字符串分界符 “和”都代表简单的分隔。
因此使用流来做字符串分隔的话有一个比较简单的方案就是将原定义的分隔符通过替换的方式变成流的分隔符。然后再录入流中就能自然的实现字符串的分隔了。
如何针对字符串进行替换
这里以最常见的一个例子来说。“”分隔符经常出现再csv之类的文件中。
如果你使用的是普通string类型char* 或者char[]也可以那么你可以直接使用string.replacex,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)16char* pMBBuffer (char*)malloc(iSize);wcstombs_s(i, pMBBuffer, (size_t)iSize,str, (size_t)iSize - 1);istringstream is(pMBBuffer);char buff;while (isbuff) {CString box(buff);MessageBox(box);}
}效果是把输入的字符串实现了一份一份的输出 输入完成后点击DIVIDE按钮实现了一份一份的输出