-2

ファイルに文字列を書き込むために C++ で fputs を使用しています。

fputs (const char*, FILE*);

次のような簡単なステートメントを使用すると、

fputs ("information", pFile);

すべて問題なく、「情報」がファイルに書き込まれます。しかし、型の変数を書くと、

std::vector<std::string>

ファイルにいくつかの非 ASCII 文字が格納されます。std::vector<std::string>型を fputs が認識できる形式に変換するメソッドを使用する必要がありますか?

4

2 に答える 2

3

その正解は、 aがメモリにfputsどのように配置されているかを理解していません。std::vector

to を渡そうとしたときに、実際にはコンパイルエラーが発生するはずstd::vectorですfputs()。キャストなどを追加してエラーを回避しようとしましたか?

于 2012-01-05T00:09:36.527 に答える
-1

使用する

fprintf ( pFile, "%s", iterVar.at(currentRun).c_str() )

それ以外の

fprintf ( pFile, "%s", iterVar.at(currentRun).data() )

data()末尾の が欠落しているため、 everを使用したくありません\0

(このコードは、@GregHewgill の回答に対する質問者のコメントに基づいています。ここiterVarで、タイプはvector<string>です。)

于 2012-01-05T00:20:14.670 に答える