0

1)私はこのコードを持っています

//... many code below
      std::basic_filebuf<char, std::char_traits<char> > streamIn;
      streamIn.open("file.txt", std::ios_base::trunc | std::ios_base::out);
      streamIn.sputn("Hello", 5);
//...

しかし、file.txtには、多くの奇妙なテキストが表示されます。こんにちはだけではありません。このファイルには、DBからのすべてのレコードも含まれています。どうしてか分かりません

2)ファイルなしでstd :: basic_filebufを使用できますか?std::basic_stringbufのように

1)の解決策が見つかりました

// ...
    std::basic_filebuf<char, std::char_traits<char> > streamIn;
    streamIn.open("file.txt", std::ios_base::out);
    streamIn.sputn(responce.c_str(), responce.size());
    streamIn.close();

    streamIn.open("file.txt", std::ios_base::in);
//...
4

1 に答える 1

0

ここで述べたように、basic_filebufは、ファイルと対話するbasic_streambufです。

いいえ、ファイルなしでは使用できないと思います。

代わりにbasic_streambufを使用して、ファイル(basic_filebufを使用)または文字列(basic_stringbufを使用)のどちらにするかを制御します。

于 2012-04-18T07:39:58.907 に答える