1
我正在编写一个将文本文件转换为二进制文件的C程序,反之亦然。我的第一个问题是关于以“w”模式打开文件。是否需要检查输出文件是否正确打开?以写入模式在C中打开文件
FILE *output;
output = fopen("output.bin", "w");
if(output == NULL)
{ printf("Error opening output file\n");}
基本上我的问题是,是否输出将永远实际上== NULL。因为如果打开输出时出现问题,它不会创建一个名为“output.bin”的新文件吗?
另外我的另一个问题是字符如何实际保存在二进制文件中。我知道我应该将每个字符保存为一个无符号字符,因此它可以具有0到255之间的值,然后我应该将该字符写入输出文件。如果有人能帮助我或指出我朝着正确的方向,那么发生这种事情的实际逻辑路径是没有意义的,我将不胜感激!
什么意思是“将文本文件转换为二进制文件,反之亦然”? – e0k
“是否需要检查输出文件是否正确打开”。是的,你需要检查返回值。至少这是一个好习惯。当然,开放可能会失败,原因很多。例如,没有权限在当前目录中创建文件。或文件已存在但不可写入。 – kaylum
我应该有二进制文件保存L字节(字符串)和4字节(整数),其中L =字符串的长度。 1字节是L.的值我希望我能解释更多,但我仍然试图了解如何存储和表示二进制文件 – John