プロが教えるわが家の防犯対策術!

下記コードで出力した結果が、
FF FE 0D 00 0D 0A 00
になります。
FF FE 0D 00 0A 00
となることを期待しているのですが…

--------------------
CStdioFile stdFile;
CString CWriteFilePath = "hoge.txt";
if (!stdFile.Open(CWriteFilePath, CFile::modeReadWrite | CFile::shareExclusive | CFile::modeCreate)){
//エラー
}

// BOM付与
DWORD dw1 = 0xFF;
DWORD dw2 = 0xFE;
stdFile.Write( &dw1, 1 );
stdFile.Write( &dw2, 1 );


// 改行文字
short s1 = 0x0D;
short s2 = 0x0A;
stdFile.Write( &s1, 2 );
stdFile.Write( &s2, 2 );

A 回答 (2件)

テキストモードでオープンしてるからじゃ?



http://msdn.microsoft.com/ja-jp/library/a499td6y …
    • good
    • 0

CStdioFile::Open() はモード指定がない場合はテキストモードでファイルを開きます(下記 URL の「解説」節参照)。


http://msdn.microsoft.com/ja-jp/library/a499td6y …

フラグ指定に CFile::typeBinary を追加しましょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2014/05/31 23:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!