我认为这将是一项简单的任务,经过几次尝试后,我尝试尝试将经过验证的真实写入临时文件,而不是重新打开并重写:
#include <stdlib.h>
#include <stdio.h>
int main()
{
FILE *f = fopen("main2.c","r");
FILE *t = fopen("temp","w");
int c;
int count = 0;
while((c = fgetc(f))!=EOF)
{
if(c)
{
fputc(c,t);
}
else
{
printf("null found\n");
}
}
fclose(f);
fclose(t);
FILE *n = fopen("main2.c","w");
FILE *w = fopen("temp","r");
while((c=fgetc(w))!=EOF)
{
fputc(c,n);
}
fclose(n);
fclose(w);
return 0;
}
这只是吐出一堆汉字。潜在的字符编码可能是问题吗?还是我在这里只是个菜鸟?
我的十六进制编辑器不允许我复制/粘贴。我不知道如何才能将文件以原始状态保存在此处,因此我将其压缩在谷歌文档中,如果您无法获取,请立即通知我:
https://docs.google.com/open?id=0B4UPOuCR5uRGZzJQZUpVaktKYlk
编辑:在这里等待它是通过 HxE 编辑:
FF FE 23 00 69 00 6E 00 63 00 6C 00 75 00 64 00 65 00 20 00 3C 00 73 00 74 00 64 00
6C 00 69 00 62 00 2E 00 68 00 3E 00 0D 00 0A 00 23 00 69 00 6E 00 63 00 6C 00 75 00 64 00
65 00 20 00 3C 00 61 00 6C 00 6C 00 65 00 67 00 72 00 6F 00 2E 00 68 00 3E 00 0D 00 0A 00
23 00 69 00 6E 00 63 00 6C 00 75 00 64 00 65 00 20 00 22 00 6D 00 6F 00