C で std::string をファイルに正しく書き込むにはどうすればよいですか?

DDD
リリース: 2024-11-25 22:49:13
オリジナル
783 人が閲覧しました

How Do I Correctly Write a std::string to a File in C  ?

std::string を使用したファイルの書き込み: 謎を解き明かす

std::string をファイルに書き込もうとすると、ユーザーはボックスや文字化けの予期しない結果が発生することがあります。この問題は、実際の文字ではなく、ポインタと文字列長を含む文字列のバイナリ データを書き込むことで発生します。

テキスト ファイルの場合、適切な解決策は、std と同様に動作する ofstream を使用することです。 ::cout ですが、出力はファイルに送られます。次の例を考えてみましょう:

#include <fstream>
#include <string>

int main() {
    std::string input;
    std::cin >> input;
    std::ofstream out("output.txt");
    out << input;
    out.close();
    return 0;
}
ログイン後にコピー

ただし、バイナリ データが必要な場合は、実際の文字列文字を使用する必要があります。これは string::c_str():

write.write(studentPassword.c_str(), studentPassword.size());
ログイン後にコピー
を使用して実現できます。

以上がC で std::string をファイルに正しく書き込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート