0

こんにちは、誰かが私がオープンファイルパスを取得するのを手伝ってくれませんか。例:C:\ NewFolder \ Hello.txtの場所に保存されているファイルを開く場合、C++コードから同じファイルパスを取得する必要があります。私を助けてplz..

4

3 に答える 3

1

まず、この方法でヘッダーでfstreamライブラリを宣言します。

#include <fstream>

次に、入力ストリームのオブジェクトを作成します。

ifstream read ;

この方法でファイルを開きます。

read.open ("C:\NewFolder\Hello.txt") ;

それがOpenFilePathで言いたいことだと思います。テキストファイルを同じディレクトリに保存する方が良いと思いました。

于 2012-08-29T10:11:00.343 に答える
1

fstreamのopen()関数を使用してドライブ上のファイルを開き、たとえばgetline()を使用してファイルを読み取ることができます。

Windowsでは、ファイルパスの円記号を必ずエスケープする必要があります。たとえば、C:\ newFolderはコンパイラによって「C:」+改行+「ewFolder」として解釈されるため、代わりにC:\\newFolderと記述する必要があります。 。

例:

#include <fstream>
// [...]
ifstream in_file;
in_file.open("C:\\NewFolder\\Hello.txt");
if (in_file.good()) { // check to make sure the file was opened correctly
    char outbuf[1024];
    while (in_file.getline(outbuf,1024)) {
        // do something with outbuf
    }
}

多くのファイルI/Oを実行しようとしている場合は、boost :: filesystemも確認することをお勧めします。これには、特定の初期学習曲線がありますが、コツをつかめばファイル/ディレクトリの処理が非常に簡単になります。 。

于 2012-08-29T11:01:45.690 に答える
0

何を求めているのか不明です。

ファイルをどこに保存したかを知りたい場合は、ファイルを保存したので、パスを知る必要はありません。この場合の答えは、「保存した場所を覚えておいてください」です。開いたファイルのパスを知りたい場合も同様です。あなたはそれを開けました、どうしてあなたは道を知ることができませか?

ユーザーがWindowsでファイルを視覚的に選択できるようにする場合は、を検索しGetOpenFileNameます。

于 2012-08-29T11:19:25.423 に答える