MFC中TXT文件读取

MFC中用CStdioFilefile;file.Open("Point.txt",CFile::modeRead);一行一行的读取前两行其中每一行都保存到一个CStri... MFC中用
CStdioFile file;
file.Open("Point.txt",CFile::modeRead);
一行一行的读取前两行

其中每一行都保存到一个CString中,用CString的mid()来获取里面我想要的那一段字符,但是无论怎样都取不到第二行中的“23”,str.mid(23,23)还是str.mid(29,30)还是str.mid(29,29)....等等,后面都会取到“150”

是不是中间有空格的问题,没有空格我试过不会这样

要怎样才能获得其中的某段字符呢?
展开
 我来答
百度网友ecba46aab
2013-05-27 · TA获得超过2303个赞
知道大有可为答主
回答量:2477
采纳率:100%
帮助的人:1972万
展开全部
先用Find函数打到位置

void GetStrs(CString str,const char ch/*分隔符*/,CStringArray& strs)
{
str.Replace(" "," ");
strs.RemoveAll();
int iPos = str.Find(ch);
while(-1 != iPos )
{
CString s = str.Left(iPos);
s.TrimLeft();
s.TrimRight();
if( !s.IsEmpty())
strs.Add(s);
str = str.Mid(iPos+1);
iPos = str.Find(ch);
}
str.TrimLeft();
str.TrimRight();
if( !str.IsEmpty())
strs.Add(str);
}
void CDlg20130527Dlg::OnButton4()
{
CStringArray strs;
GetStrs("1 123 10 BYY.LL 23 150",' ',strs);

参考一下
追问
看来好长时间还是不怎么明白

我将"1 123 10 BYY.LL 23 150"全部存到一个strText中(CString strText)

int cur=strText.Find("23",10) //从第十个字符读起,因为前面还有个23,我想去后面的23
CString strNum=strText.Mid(cur,cur);
就是这样,我还是取不到strNum=23
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式