下面是C++的一段代码:
inf.seekg(-1*int(sizeof(double)),ios::end);
//上面这句什么意思?Delphi的等同语句是? double lfTemp;
inf.read((BYTE*)(&lfTemp),sizeof(double));
//(BYTE*)(&lfTemp),什么意思阿? outf<<"# 采样持续时间: "<<lfTemp<<" 秒"<<endl;
inf.seekg(0,ios::beg);
BYTE btTemp;
inf.read(&btTemp,1);
outf<<"# 通道数: "<<int(btTemp)<<endl;
inf.read(&btTemp,1);
outf<<"# A/D板位数: "<<int(btTemp)<<endl;
float fTemp; inf.read((BYTE*)(&fTemp),sizeof(float));
outf<<"# 最大电压: "<<fTemp<<" 最小电压: ";
inf.read((BYTE*)(&fTemp),sizeof(float));
outf<<fTemp<<endl;
inf.read((BYTE*)(&m_nReadStart),sizeof(int));
inf.seekg(m_nReadStart,ios::beg);另外,startPos=inf.tellg()什么意思呢?
inf.seekg(0,ios::beg)呢?小弟对C++一点也不了解,希望各位高手不吝赐教,谢了。
inf.seekg(-1*int(sizeof(double)),ios::end);
//上面这句什么意思?Delphi的等同语句是? double lfTemp;
inf.read((BYTE*)(&lfTemp),sizeof(double));
//(BYTE*)(&lfTemp),什么意思阿? outf<<"# 采样持续时间: "<<lfTemp<<" 秒"<<endl;
inf.seekg(0,ios::beg);
BYTE btTemp;
inf.read(&btTemp,1);
outf<<"# 通道数: "<<int(btTemp)<<endl;
inf.read(&btTemp,1);
outf<<"# A/D板位数: "<<int(btTemp)<<endl;
float fTemp; inf.read((BYTE*)(&fTemp),sizeof(float));
outf<<"# 最大电压: "<<fTemp<<" 最小电压: ";
inf.read((BYTE*)(&fTemp),sizeof(float));
outf<<fTemp<<endl;
inf.read((BYTE*)(&m_nReadStart),sizeof(int));
inf.seekg(m_nReadStart,ios::beg);另外,startPos=inf.tellg()什么意思呢?
inf.seekg(0,ios::beg)呢?小弟对C++一点也不了解,希望各位高手不吝赐教,谢了。
realbuffer的定义如下:RealBuffer: array[0..3] of byte;
这样对么?谢谢了。如果觉得分数太低,小弟可以加分。
with TFileStream.Create(DataFile, fmOpenRead) do
try
Seek((-1*int(sizeof(double)), soFromEnd);
double lfTemp;
read(lfTemp, sizeof(double));
..
finally
end;
另外inf.tellg()好像就是当前的文件指针位置
TFileStream.Position就可
还有Seek,FilePos这些函数
可以试试
inf 的类型应该为 ifstream / fstream吧.. 你最好把其定义给写出来 因为在定义的时候 就有不同的构造方式 比如从文件最开始
inf.seekg(-1*int(sizeof(double)),ios::end);
//上面这句什么意思?Delphi的等同语句是?
// 表示从文件的末尾开始读取数据 double lfTemp;
inf.read((BYTE*)(&lfTemp),sizeof(double));
//(BYTE*)(&lfTemp),什么意思阿?
// 他的意思就是类型转换
// 因为函数 read的原形为 istream& read( unsigned char* puch, int nCount );
// 为 unsined char* 表示 无符号的char 而BYTE*恰好也是无符号的 且表示范围相同. 这样表示一次读4个BYTE的值到 lfTemp中去.另外,startPos=inf.tellg()什么意思呢?// 获得现在文件读取的位置
inf.seekg(0,ios::beg)呢?// 表示从文件开始读取.无文件类型的就以二进制读取 就是。。不过你要明白他里面的内容是什么