在C语言中,如何在一个二进制文件中删除和插入一定字节长度的数据?

来源:百度知道 编辑:UC知道 时间:2024/05/19 23:46:36
我希望最好是C语言的代码,C++我还没学过,可能会看不懂。如果C实现不了,必须用C++,请最好能写清楚注释,谢谢了

BOOL CMenuDataDlg::ReadMenuDataFromFile()
{
char *pFilePathName;
FILE *pFile = NULL;
int i= 0,j = 0;
MMI_STRING item;

memset(&item,0,sizeof(MMI_STRING));
pFile = fopen("MenuData","rb");
if(pFile ==NULL)
{
pFile = fopen("MenuData","wb");
if(pFile!=NULL)
{
for(i=0;i<(sizeof(StringDefined)/sizeof(MMI_STRING));i++)
{
fwrite(&StringDefined[i],sizeof(MMI_STRING),1,pFile);
AddOneItemToList(&mmi_string_info,&StringDefined[i]);
}
}
}
else
{
int i=0;
while(!feof(pFile))
{

fread(&item,sizeof(MMI_STRING),1,pFile);
AddOneItemToList(&mmi_st