P
phosphor
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个16位的文件,可是这里读出的数和写入的数对不上,我不知道我的程序错在那里了。
希望各位朋友帮我看看(对不起,程序用c++ builder写的
[])
//写入一个文件
void __fastcall TForm1::Button5Click(TObject *Sender)
{
char buff[100];
long double ij=10;
HFILE Cj;
Cj= _lcreat("a://a.jk",0);
for (int j=0; j<100; j++) buff[j]=0; // 清空数组内容
_lwrite(Cj,buff,8); //先写入8位
for (int i=0; i<100; i++)
{
ij=ij+i;
buff=ij;
}
_lwrite(Cj,buff,strlen(buff)); //写入数据
_lclose(Cj);
}
//读出上边写入的文件
void __fastcall TForm1::Button4Click(TObject *Sender)
{
HFILE CFile;
long double jj;
long ll,lll;
char buff[100];
for (int j=0; j<100; j++) buff[j]=0;
if (OpenDialog1->Execute())
{
AnsiString Strt=OpenDialog1->FileName;
CFile=_lcreat(Strt.c_str(),OF_READ); //调用文件并设文件为可读
_lread(CFile,jj,8); //预先读出8位,因为在写入的时候从第九位开始写的
for (int i=0; i<100; i++)
{
_lread(CFile,&jj,10); // 读出文件,可是这里读出的数和写入的数对不上,
// 我不知道我的程序错在那里了。
}
}
}
希望各位朋友帮我看看(对不起,程序用c++ builder写的
代码:
//写入一个文件
void __fastcall TForm1::Button5Click(TObject *Sender)
{
char buff[100];
long double ij=10;
HFILE Cj;
Cj= _lcreat("a://a.jk",0);
for (int j=0; j<100; j++) buff[j]=0; // 清空数组内容
_lwrite(Cj,buff,8); //先写入8位
for (int i=0; i<100; i++)
{
ij=ij+i;
buff=ij;
}
_lwrite(Cj,buff,strlen(buff)); //写入数据
_lclose(Cj);
}
//读出上边写入的文件
void __fastcall TForm1::Button4Click(TObject *Sender)
{
HFILE CFile;
long double jj;
long ll,lll;
char buff[100];
for (int j=0; j<100; j++) buff[j]=0;
if (OpenDialog1->Execute())
{
AnsiString Strt=OpenDialog1->FileName;
CFile=_lcreat(Strt.c_str(),OF_READ); //调用文件并设文件为可读
_lread(CFile,jj,8); //预先读出8位,因为在写入的时候从第九位开始写的
for (int i=0; i<100; i++)
{
_lread(CFile,&jj,10); // 读出文件,可是这里读出的数和写入的数对不上,
// 我不知道我的程序错在那里了。
}
}
}