|
二、 顺序文件数据文件的读取
C++Builder对顺序文件数据的读取,提供了fscanf函数。
语法:int fscanf(FILE *stream, const char *format[, address, ...]);
功能:以格式化由文件中读取数据,存于指定变量中
1. 数值变量之前要加&符号;
2. Format格式化输入。
例子2

代码分析:
FILE *inf; //定义文件指针
bool flag; //定义一个布尔变量,标志文件是否打开的状态
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *number=new char;
char *name=new char; //定义两个字符串指针,存放学号和姓名
int mark;
if(!feof(inf))
{
fscanf(inf,"%s %s %d",number,name,&mark);
Edit1->Text=number;
Edit2->Text=name;
Edit3->Text=IntToStr(mark);
}
else
{
fclose(inf); //关闭文件
flag=false;
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
flag=false;
Button3Click(Sender);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if(flag)
{
fclose(inf);
}
inf=fopen("c:\\studentinfo.txt","r+"); //打开文件
flag=true;
Button1Click(Sender);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
fclose(inf);
Form1->Close();
}
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 |