ホームページ > バックエンド開発 > C++ > C でファイルに文字列を正しく書き込むにはどうすればよいですか?

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

DDD
リリース: 2024-11-26 15:27:10
オリジナル
687 人が閲覧しました

How Can I Correctly Write Strings to Files in C  ?

C で文字列をファイルに書き込む

文字列の形式でユーザー入力を処理する場合、保存するためにファイルに文字列を書き込みたいと思うのが一般的です。ただし、ofstream の write() メソッドを使用してこれを実行しようとすると、予期しない結果が生じる可能性があります。

std::string とファイル書き込み

std::string は文字列の値とその長さの両方を内部に格納する複雑なデータ構造。 write() を std::string とともに使用すると、実際にはこの内部表現がファイルに書き込まれます。このバイナリ データは、ファイルを開いたときにテキストとして正しく表示される可能性は低いです。

テキスト ファイルに ofstream を使用する

ファイルにプレーンテキストを書き込む場合、推奨されるアプローチは ofstream オブジェクトを使用することです。 、ファイルに書き込むための std::cout のように機能します。次のコード サンプルは、このアプローチを示しています。

#include <fstream>
#include <iostream>

int main() {
    std::string studentName;
    std::cout << "Enter your name: ";
    std::cin >> studentName;

    std::ofstream outFile("output.txt");
    outFile << studentName;
    outFile.close();

    return 0;
}
ログイン後にコピー

ファイルへのバイナリ データの書き込み

文字列のプレーンテキスト値ではなく、実際のバイナリ表現を書き込む必要がある場合は、次のように使用できます。 string::c_str() を使用して、生データへのポインタとその長さを write() 用に取得します。次のスニペットはこれを示しています。

write.write(studentPassword.c_str(), studentPassword.size());
ログイン後にコピー

これらの手法を使用すると、特定の要件に応じて、プレーンテキスト文字列とバイナリ データの両方をファイルに効果的に書き込むことができます。

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

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