6 26 D:\EXE shell tool\src\main\resources\t.c [Error] invalid suffix "x" on integer constant
时间: 2023-08-13 08:05:17 浏览: 279
抱歉,我之前给出的代码有一个错误。C 语言中整数常量的十六进制表示需要以 "0x" 开头,而不是 "0x" 后面带有负号。下面是修正后的代码:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("tmp.exe", "wb"); // 以二进制写入模式打开文件
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
unsigned char data[2] = {0x01, 0x02}; // 要写入的数据
// 将数据写入文件
fwrite(data, sizeof(unsigned char), sizeof(data), file);
fclose(file); // 关闭文件
printf("文件内容已被覆写为 0x01, 0x02\n");
return 0;
}
```
这段代码会将文件 "tmp.exe" 的内容覆写为两个字节:0x01 和 0x02。编译并运行该程序,确保目标文件 "tmp.exe" 已经存在。
阅读全文