0

現在、Visual C++2010を使用してtxtファイルを開いています。

fp = fopen("E:\\CProg\\Huffman\\Debug\\Huffman.txt","r"); //Right
//Wrong
//fp = fopen(".\\Huffman.txt","r");
//fp = fopen("\\Huffman.txt","r");
//fp = fopen("Huffman.txt","r");

VB.NETでは、以前は次のように記述していました:Application.Startpath&"\"。では、どうすればCで作成できますか?

4

1 に答える 1

2

何に関連して?「関連するすべてのプラットフォーム」で、絶対ではないファイル名を使用すると、現在のディレクトリを基準にして解決されます。

以下はWindows用です。

コンソールアプリケーションを作成している場合、アプリケーションは、コマンドプロンプトに表示されるものに設定された現在のディレクトリから起動します。さらなる調査なしでは、GUIアプリケーションの最初の現在のディレクトリが何であるかを知ることはできません。

ファイル名をインストールディレクトリからの相対パスにする場合は、Win32関数GetModuleFileNameW()のようなものを使用して、そこから作業を進める必要があります(この関数は、exeファイルへのパス名を提供します。取得する最後のコンポーネントを削除します。ディレクトリ、および追加したいパスを追加します)-

「このファイル名をインストールディレクトリに対して使用したい」と直接言う方法はありません。

于 2012-07-15T15:42:49.563 に答える