動画作成ツール「Crystel Engine」ブログ

動画作成ツール「Crystel Engine」の開発日誌です。良かったら「CE」と略して下さい。現在はMAD動画を作るためのツールとして稼動中。MADデビューしたい方は、ぜひどうぞ!ロマンはどこだ!?を胸に日々開発中

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

マルチテキストを使うとセーブ時に落ちる問題

もしや・・・・こいつ・・・が犯人か!?

// マルチテキストの表示文字を書き込む
TCHAR* pStr = pMText->getText();
fwrite(pStr, sizeof(TCHAR), STR_BUFFER, pOpen);

↑こんな感じでセーブ時にデータを書き込んでいる。
マルチテキストの1行がSTR_BUFFERサイズとは
限らないのに!?

1行10文字(日本語)=20バイトだとして(STR_BUFFER-20)バイト以上のメモリのデータを
fwriteで書き込もうとするとどうなるのだろうか?

運良く落ちない場合もあったり、落ちる場合もある。に違いない。
と、思うとこれが不具合の原因かな?少なくとも直すのは必須ですけど。

PageTop

コメント


管理者にだけ表示を許可する
 

fwriteの挙動

fwriteの書き込み先デバイスによりますが、外部記憶装置なら、
単に22バイト目以降が不定値になるだけです。21バイト目は'

愚乱爺 | URL | 2009年06月19日(Fri)21:48 [EDIT]


fwriteに関してありがとうございます。

愚乱爺 様

fwriteの挙動に関して、ありがとうございます。
何か、コメントが途中で切れてますが、FC2のバグかもしれません。¥0を記述されていたからかも?
全て読ませて頂きました。

おっしゃる通り、悲惨な結果が起きたりしています。
セーブ時にここで落ちる事を捕まえていますし。
とりあえず、現状のバージョンに修正をかまし、
次バージョンでテキストのサイズにより動的にサイズを作成する予定です。

crysteltools | URL | 2009年06月19日(Fri)22:53 [EDIT]


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。