在C中的另一个目录中打开文件

时间:2009-10-10 09:05:06

标签: c binary fopen

这是如何实现的?我想用

pFile = fopen( file, "rb" );

其中file是char,string或long,包含包含二进制文件的本地路径的文本文本

C:\Documents and Settings\Supernovah\Desktop\Supernovah.bin

但当然会崩溃。

我也对如何以便携方式重复使用当前目录感兴趣。 windows.h有点难看,但如果我不能以便携的方式做到这一点。就这样吧。

谢谢:)

2 个答案:

答案 0 :(得分:5)

char* file="C:\\Documents and Settings\\Supernovah\\Desktop\\Supernovah.bin";
FILE* pFile = fopen( file, "rb" );

答案 1 :(得分:1)

GCC / MinGW和VC ++ 2008(可能还有其他)都允许在Win32中使用Unix风格的路径分隔符。所以:

char* file="C:/Documents and Settings/Supernovah/Desktop/Supernovah.bin";

也可以工作,并且可以在操作系统之间移植。然而,路径中的空格可能存在问题,需要在Linux中替换为%20。