我正在编写一个将文本文件转换为二进制文件的C程序,反之亦然。我的第一个问题是关于以“w”模式打开文件。是否需要检查输出文件是否正确打开?
FILE *output;
output = fopen("output.bin", "w");
if(output == NULL)
{ printf("Error opening output file\n");}
基本上我的问题是输出是否真的== NULL。因为如果打开输出有问题,它不会只创建一个名为“output.bin”的新文件吗?
另外我的另一个问题是字符实际上是如何保存在二进制文件中的。我知道我应该将每个字符保存为unsigned char,因此它可以具有0到255之间的值,然后我应该将该char写入输出文件。如果有人可以帮助我或指出我正确的方向,那么实际发生的逻辑路径是没有意义的我会很感激!
答案 0 :(得分:3)
是的,在写入模式下打开文件可能仍会失败。这里有一堆可能的原因,但肯定不是唯一的原因:
test/foo
如果test
是文件而不是目录)C:/???*\\\\foo
。