【发布时间】:2022-01-25 13:51:06
【问题描述】:
我正在编写一个 C 程序,我希望能够将数据存储在可执行文件中。 我尝试创建一个函数在文件末尾写入一个字节,但它看起来无法打开文件,因为它到达 printf 然后给出“分段错误”。
void writeByte(char c){
FILE *f;
f = fopen("game","wb");
if(f == 0)
printf("\nFile not found\n");
fseek(f,-1,SEEK_END);
fwrite(&c,1,sizeof(char),f);
fclose(f);
}
该文件位于正确的目录中并且名称正确。当我尝试读取最后一个字节而不是写入时,它可以正常工作。
编辑:我知道我应该中止程序而不是尝试编写,但我的主要问题是程序无法打开文件,尽管位于同一目录中。
【问题讨论】:
-
如果您发现文件无法打开,您应该中止程序而不是尝试访问该文件。
-
当您尝试编写程序时,您的程序的确切输出是什么?
-
你最好把你想得到的输出呈现出来,以便别人更好地理解并帮助你!
-
还有什么文件需要打开?它是文本文件还是其他?也许您需要添加 .txt 或其他任何内容。 linux.die.net/man/3/fopen