想要读取字符串中的一部分内容,下面语句有问题,请大家帮忙改改好么?
想把第一行字符串“学号.66666666”中“.”后面的字符赋给StuNum,
把第二行字符串“姓名.史努比”中“.”后面的字符赋给Name,
把第三行字符串“成绩.90”中“.”后面的字符赋给Score。
代码如下:
CStdioFile file;
file.Open(pathName, CFile::modeRead | CFile::typeText);
CString str;
CString strTemp;
int i;
i = 0;
while(file.ReadString(strTemp))
{
str = strTemp;
str = str.Mid(str.ReverseFind('.') + 1);
CString strStuNum,strName,strScore;
if (i = 1)
m_StuNum=str;
if (i = 2)
m_Name=str;
if (i = 3)
m_Score=str;
if (i > 3)
break;
i++;
}
file.Close();
执行后,m_StuNum,m_Name,m_Score的值均为90,请问错在哪儿啊 ?
谢谢^_^
问题点数:20、回复次数:4Top
1 楼fairness(Phil)回复于 2005-06-03 20:27:34 得分 10
str = str.Mid(str.ReverseFind('.') + 1);
改为
int iIndex = str.Find('.');
int iLength = str.GetLength();
str = str.Right(iLength - iIndex - 1);Top
2 楼fairness(Phil)回复于 2005-06-03 20:29:05 得分 10
if (i = 1)
之类的应该是
if (i == 1)Top
3 楼snoopylou(史努比)回复于 2005-06-03 21:04:36 得分 0
按照1楼的修改之后,StuNum的值为90,Name的值为 史努比,Score的值为90.
再把if (i = 1)之类的改为if (i == 1)
StuNum值为 史努比,Name的值为90,Score的值为90.
好奇怪~~~Top
4 楼snoopylou(史努比)回复于 2005-06-04 10:02:39 得分 0
Sigh~~Top




