为什么通过结构体写入txt文件老是出现乱码?
typedef struct tagTAliasRow
{
int intNumber;
char szAlias[255];
char szAddress[16];
char *lpszDescription;
bool bSelected;
tagTAliasRow *pNext;
tagTAliasRow *pPrevious;
}TAliasRow;
button按钮事件如下:
//----------------------------------------------------------------
void __fastcall TForm1::btnWriteFileClick(TObject *Sender)
{
FILE *fp;
TAliasRow AliasRow;
if((fp=fopen("aaa.txt","wt+"))==NULL)
{
ShowMessage("File is not opened!");
return;
}
else
{
AliasRow.intNumber = StrToInt(Edit1->Text.c_str());
strcpy(AliasRow.szAlias,Edit2->Text.c_str());
strcpy(AliasRow.szAddress,Edit3->Text.c_str());
AliasRow.lpszDescription = new char[Edit4->Text.Length()+1];
strcpy(AliasRow.lpszDescription,Edit4->Text.c_str());
//fscanf(fp,"%d%s%s%s",&AliasRow.intNumber,AliasRow.szAlias,AliasRow.szAddress,AliasRow.lpszDescription); //就是这几句不知道该怎么写
//scanf("%d%s%s%s",&AliasRow.intNumber,AliasRow.szAlias,AliasRow.szAddress,AliasRow.lpszDescription); //就是这几句不知道该怎么写
fprintf(fp,"%d%s%s%s",&AliasRow.intNumber,AliasRow.szAlias,AliasRow.szAddress,AliasRow.lpszDescription); //就是这几句不知道该怎么写
fseek(fp,(AliasRow.intNumber-1)*sizeof(TAliasRow),SEEK_SET);
fwrite(&AliasRow,sizeof(TAliasRow),1,fp);
}
fclose(fp);
}
然后用记事本打开生成的文件,老是出现乱码,请各位大哥指教一下啊!

