有关文件读取的问题!
pqxx 2002-03-28 09:46:31 我用从一个文本文件中读取数据,文件中的数据格式如下:
如果是正小数则一共八个字符,如果是负小数加上符号位一共九个字符
数据之间无空格回车之类的分隔符,文件也没有头结构,所以我每次
先读出头一个字符,存到m_code中,并判断是不是等于“-”如果是的话就再读出八个字符
如果不是就再读出七个字符,并存到m_read中,最后将m_code和m_read相加
(m_codem_read是CString型),就得出结果,想着没什么问题,可结果一直不对,不知错在那里
代码如下:
char code[1]//读取符号
char temp8[8];//如果是负小数再读取八个字符
char temp7[7];//如果是正小数再读取七个字符
char temp9[9]; //
CString m_read,m_code;
/////////////////////把中间过程的运算结果从文本文件中读出
CFile datfile("dat.txt",CFile::modeRead
| CFile::shareDenyWrite);
for(int j=0;j<J;j++)
{
datfile.Read(code,1);
m_code=code;
if(m_code==“-”)
{
dat.Read(temp8,8);
m_code=code;
m_read=temp8;
m_read=code+m_read;
}
else
{
dat.Read(temp7,7);
m_code=code;
m_read=temp7;
m_read=m_code+m_read;
}
strcpy(temp9,m_read.GetBuffer(m_read.GetLength()));
//按CString中的字节长度读取到temp9
dat[j]=atof(temp9);//double 型
}
datfile.Close();