web-dev-qa-db-ja.com

C ++でファイルを作成する

C++を使用してファイルを作成したいのですが、その方法がわかりません。たとえば、Hello.txtという名前のテキストファイルを作成します。

誰も私を助けることができますか?

59
Uffo

これを行う1つの方法は、ofstreamクラスのインスタンスを作成し、それを使用してファイルに書き込むことです。以下に、いくつかのサンプルコードと、C++のほとんどの実装で使用可能な標準ツールに関する詳細情報を含むWebサイトへのリンクを示します。

ストリーム参照

完全を期すために、以下にサンプルコードを示します。

// using ofstream constructors.
#include <iostream>
#include <fstream>  

std::ofstream outfile ("test.txt");

outfile << "my text here!" << std::endl;

outfile.close();

行を終了するには、std :: endlを使用します。別の方法は、「\ n」文字を使用することです。これら2つのことは異なります。std:: endlはバッファーをフラッシュし、すぐに出力を書き込みます。 '\ n'を使用すると、出力ファイルはすべての出力をバッファーに入れ、後で書き込むことができます。

97
James Thompson

ファイルストリームでこれを行います。 std::ofstreamが閉じられると、ファイルが作成されます。私は個人的には次のコードが好きです。OPはファイルを作成するだけで、書き込むのではないからです。

#include <fstream>

int main()
{
    std::ofstream file { "Hello.txt" };
    // Hello.txt has been created here
}

一時変数fileは、作成直後に破棄されるため、ストリームが閉じられ、ファイルが作成されます。

16
#include <iostream>
#include <fstream>

int main() {
  std::ofstream o("Hello.txt");

  o << "Hello, World\n" << std::endl;

  return 0;
}
11
Sean Bright

私の解決策は次のとおりです。

#include <fstream>

int main()
{
    std::ofstream ("Hello.txt");
    return 0;
}

ファイル(Hello.txt)は、ストリーム名がなくても作成されます。これは、ボイエチオス氏の答えとは異なります。

3
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

string filename = "/tmp/filename.txt";

int main() {
  std::ofstream o(filename.c_str());

  o << "Hello, World\n" << std::endl;

  return 0;
}

これは、通常の文字列の代わりにファイル名に変数を使用するために私がしなければならなかったことです。

2
Angelo