2013-03-27 21 views
18

テキストファイルが存在しない場合は作成していますが、これを行うにはfstreamを取得できないようです。fstreamはファイルを作成しません

#include <fstream> 
using std::fstream; 

int main(int argc, char *argv[]) { 
    fstream file; 
    file.open("test.txt"); 
    file << "test"; 
    file.close(); 
} 

は、私はそれがファイルを作成するために得るためにopen()機能には何も指定する必要がありますか?私はすでに存在するファイルがそこにあると期待しているので、ios::inを指定することはできませんが、まだ存在しないファイルに対して他のパラメータを指定する必要があるかどうかはわかりません。

+0

を、私はあなたが使用する必要が思う:.open( "test.txtの"、fstreamの::で) ; – FacundoGFlores

答えて

14

あなたはfstreamのを追加する必要があります::うち、このような方法を開くには:fstreamのフラグについて

file.open("test.txt",fstream::out); 

詳しい情報は、このリンクをチェックアウト: http://www.cplusplus.com/reference/fstream/fstream/open/

+1

ありがとう、それはトリックでした。 – raphnguyen

+0

'file.open(" test.txt "、fstream :: in | fstream :: out | fstream :: binary);'まだ実行されていないファイルに対しては許可されていませんか? – raphnguyen

+4

存在しないファイルでfstream :: inを動作させるには、fstream :: truncを追加する必要があります。 – haitaka

10

いくつかの引数を追加する必要があります。また、インスタンス化と開口部は、1行に入れることができます。

fstream file("test.txt", fstream::in | fstream::out | fstream::trunc); 
1

はこれが行います。

#include <fstream> 
#include <iostream> 
using std::fstream; 

int main(int argc, char *argv[]) { 
    fstream file; 
    file.open("test.txt",std::ios::out); 
    file << fflush; 
    file.close(); 
} 
関連する問題