C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でバイナリモードとテキストモードで記述されたファイルの違い


テキストモード バイナリモード
テキストモードではさまざまな文字
翻訳が実行されます。
「\r+\f」は「\n」に変換されます
バイナリモードでは、このような変換
実行されません。
ファイルに書き込むには:
ofstream ofs(“ file.txt”);
または
ofstream ofs;
ofs.open(“ file.txt”);
ファイルに書き込むには:
ofstream ofs(“ file.txt”、ios ::binary);
また
ofstream ofs;
ofs.open(“ file.txt”、ios ::binary);
ファイルの最後にテキストを追加するには:
Ofstream ofs(“ file.txt”、ios ::app);
また
ofstream ofs;
ofs.open(“ file.txt”、ios ::app);
ファイルの最後にテキストを追加するには:
オフストリーム
ofs(“ file.txt”、ios ::app | ios ::binary);
またはofstreamofs;
ofs.open(“ file.txt”、ios ::app | ios ::binary);
ファイルを読み取るには:
ifstream in(“ file.txt”);
また
ifstream
の; in.open(“ file.txt”);
ファイルを読み取るには:
ifstream in(“ file.txt”、ios ::binary);
また
ifstream in;
in.open(“ file.txt”、ios ::binary);

  1. C++の「struct」と「typedefstruct」の違いは?

    C ++では、structとtypedef structの間に違いはありません。これは、C ++では、すべてのstruct / union / enum/class宣言が暗黙的にtypedefであるかのように動作するためです。 ed、同じ名前の別の宣言によって名前が隠されていない限り。 typedefを前方宣言できないという微妙な違いが1つありますが、したがって、typedefオプションの場合、どこでも使用する前に、typedefを含むファイルを含める必要があります。

  2. C++文字列定数と文字定数の違い

    C ++では、一重引用符で囲まれた文字は文字リテラルです。文字型です。たとえば、「a」は、ASCIIベースのシステムでは値97のchar型です。 二重引用符で囲まれた1文字または文字列は、文字列リテラルを表します。これはconstchar[]型であり、文字列の長さ+1のサイズの配列を参照します。その余分な文字は文字列の終わりを示すためにあります。 文字列リテラルは、「abcdefg」のように任意の長さにすることができます。文字リテラルには、ほとんどの場合、1文字だけが含まれます。これらが印刷されるとき、文字列リテラルは、文字列で最初の\0またはNULL文字が検出されるまで印刷されます。