二进制文件的指定字节,例如第13字节的00修改为01,用C语言怎么实现,全程序怎么写谢谢

2025-02-27 12:20:35
推荐回答(2个)
回答1:

方法1:
char data *p; //定义一个指向片内RAM地址的指针
p = 0x0d; //片内RAM地址为13
*p = 0x01; //向0x30内写入立即数01

方法2:
#include
char x;

x = DBYTE[0x0d]; //将片内RANM地址13的内容赋给变量x
DBYTE[0x30] = 0x01; //向0x30内写入立即数01

方法3:采用 _at_ 直接声明变量所处地址,但该变量必须是全局变量。
char data x _at_ 0x0d ; //x为char型全局变量,地址位于data区地址13
。。。。。

x = 0x01; //向0x30内写入立即数01

回答2:

#include
int main()
{
FILE* pfile;
char filename[20];
int n = 1;
printf("文件名:");
scanf("%s", filename);
pfile = fopen(filename, "rb+");
fseek(pfile, 12, SEEK_CUR);
fwrite(&n, 1, 1, pfile);
fclose(pfile);
return 0;
}