クライアントの 1 人が問題に直面している C++ メソッドを維持しています。このメソッドは、改行で区切られた一連の識別子をファイルに書き出すことになっています。しかし、彼らのマシンでは、どういうわけか、メソッドは一連の NULL をファイルに書き込んでいます。バイナリ エディタでファイルを開くと、すべてゼロが含まれていることがわかります。
なぜこれが起こっているのか理解できません。空の文字列と最初の文字を 0 に設定した文字列を割り当ててみました。識別子を書き込むだけで、ファイルの作成に問題はありません。
メソッドは次のとおりです。
void writeIdentifiers(std::vector<std::string> IDs, std::string filename)
{
std::ofstream out (filename.c_str(), std::ofstream::binary);
if (out.is_open())
{
for (std::vector<std::string>::iterator it = IDs.begin();
it != IDs.end();
it++)
{
out << *it << "\n";
}
}
out.close();
}
私の質問: NULL 値を含むファイルを作成するメソッドを提供できる可能性のある入力はありますか?