|
我的编程经验之一如何保存配置信息(5) if ( ftell ( ptr ) != sizeof ( UserInfo ) ) {//判断文件是否被破坏。 ShowMessage ( "配置文件被破坏!" ); fclose ( ptr ); reutrn false; } fseek ( ptr, 0L, SEEK_SET );//定位到文件头 fread ( &UserInfo, sizeof ( UserInfo ), 1, ptr );//读取内容到结构。 fclose ( ptr ); return true; } void __fastcall SaveConfig() { FILE * ptr; AnsiString FileName = ExtractFileName( ParamStr ( 0 ) ) + "UserInfo.Dat"; ptr = fopen ( FileName.c_str(), "wb" ); if ( ptr == NULL ) { ShowMessage ( "文件打开失败!" ); return false; } fwrite ( &UserInfo, sizeof ( UserInfo ), 1, ptr );//读取内容到结构。 fclose ( ptr ); } 这样就完成了一个配置文件的读写。下面在用Stream来处理这个文件。 bool __fastcall ReadConfig () {//用流来读取,我用内存流是因为我的个人习惯,其实用文件流也是一样的。 TMemoryStream * readStream = new TMemoryStream (); AnsiString FileName = ExtractFileName( ParamStr ( 0 ) ) + "UserInfo.Dat"; readStream->LoadFromFile ( FileName ); if ( readStream->Size != sizeof ( UserInfo ) ) { ShowMessage ( "配置文件被破坏!" );
|