1

これはどのように達成されますか?使いたい

pFile = fopen( file, "rb" );

fileは、バイナリファイルへのローカルパスを含むリテラルテキストを含むchar、string、またはlongです。

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

もちろん、それはクラッシュします。

また、現在のディレクトリを移植可能な方法で繰り返す方法にも興味があります。windows.hは少し醜いですが、ポータブルな方法でそれを行うことができない場合。だからそれでいい。

ありがとう :)

4

2 に答える 2

5
char* file="C:\\Documents and Settings\\Supernovah\\Desktop\\Supernovah.bin";
FILE* pFile = fopen( file, "rb" );
于 2009-10-10T09:08:48.210 に答える
2

GCC/MinGWとVC++2008(およびおそらく他のもの)の両方で、Win32でUnixスタイルのパス区切り文字を使用できます。それで:

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

同様に機能し、オペレーティングシステム間で移植可能です。ただし、パス内のスペースには問題がある可能性があり、Linuxでは%20に置き換える必要があります。

于 2009-10-10T10:42:06.950 に答える