1

わかりましたので、私は高校以来 C++ を使用していません (以前はボーランド C++ で作業していました)。

C++ の問題を解決したいのですが、fstream が機能しない理由がわかりません

何らかの理由で ios::in が機能しません。

#include <fstream>
fstream f("Cities.txt,ios::in);

Fstream を適切に使用するにはどうすればよいですか?

前もって感謝します!

注:Visual Studio 2008を使用しています

4

5 に答える 5

4

から変更する

fstream f("Cities.txt,ios::in);

std::fstream f("Cities.txt" , std::ios::in);
^^^                       ^   ^^^
namespace          you miss"  namespace

終わり!

于 2012-11-10T11:37:12.260 に答える
2

あなたが高校で学んだことは、C++ が 1997 年に標準化されるよりずっと前のことでした。標準に従って、すべての C++ ライブラリ関数は std 名前空間の一部です。標準名前空間の一部である fstream を使用するには、それを std:: で修飾する必要があるため、構文は次のようになります。

#include <fstream>
std::fstream f("Cities.txt",std::ios::in); 
于 2012-11-10T11:40:05.080 に答える
1

の代わりに、 (および)std::fstreamを検討してください。std::ifstreamstd::ofstream

#include <fstream>

…

std::ifstream f("Cities.txt");
std::ofstream o("output.txt");
std::string s;
while( f >> s )
  o << s; 

個人的にはopen modeを指定するよりこちらの方が便利です。

于 2012-11-10T12:53:18.080 に答える
1

ifstream最初にクラスのオブジェクトを作成してから、ファイルを開く必要があります。このようにしてください。

#include <fstream>

std :: ifstream f ("Cities.txt",ios::in) ;

次に、開いているかどうかを確認し、作業を開始します。

"after ファイル名もありません。

于 2012-11-10T11:36:21.480 に答える
0

書くこともできます

#include <fstream>
using namespace std;
fstream f("Cities.txt",ios::in);

usingディレクティブを使用すると、すべてのstd::前に書かないようにすることができます。これは悪い習慣かもしれませんが、小さなプログラムでは問題にならないことに注意してください。

于 2012-11-10T11:55:03.217 に答える