std::ofstreamでPointer arithmetic underrun が発生する

C++Builder2010 で、デバッグモードでビルドして実行すると、エラーが発生する。


Pointer arithmetic underrun 処理中: hoge.exe(3956)  - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\streambuf#206
 0x07495841-512, that is at offset 1-512 in block 0x07495840 (size 512).
   0x07266025 - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\streambuf#206
   0x07264B5B - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\fstream#237
   0x07264896 - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\streambuf#465
   0x07237909 - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\streambuf#151
   0x07235671 - c:\program files (x86)\embarcadero\rad studio\7.0\include\dinkumware\ostream#683
   0x0725357E - CHogeFile.cpp#202


エラーの発生するコード


std::ofstream ofile;
ofile.open( ”hoge.txt” );
ofile << "************" << endl;   // ここでエラー発生
ofile << "*  TEST MESSAGE *” << endl;


ファイルに文字列書き出しているだけなんだけどな。ちなみにリリースモードだとエラーにならない。


あれこれ調べまくったらembarcadero developer networkのサイトに情報を発見。
http://qc.embarcadero.com/wc/qcmain.aspx?d=79606

CodeGuardの障害じゃないのか、これ?

詳しくはリンク先という事で、設定を変更すると通るようになる。


コメント

このブログの人気の投稿

TabError: inconsistent use of tabs and spaces in indentation

マクロを含んだ.XLSがExcel2010で開けない

using ディレクティブまたはアセンブリ参照が不足しています。