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”
是不是中间有空格的问题,没有空格我试过不会这样
要怎样才能获得其中的某段字符呢? 展开
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”
是不是中间有空格的问题,没有空格我试过不会这样
要怎样才能获得其中的某段字符呢? 展开
展开全部
先用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);
参考一下
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询