いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

EOFの問題

さて、昨日の EOFが書き込まれ無いため、ファイルが壊れるという問題ですが、結局次のコードを書いて対処しました。

FILE* pFile; // 適当にオープン
const long nFile = _get_osfhandle(_fileno(pFile));
if(nFile != -1)
  ::SetEndOfFile((HANDLE)nFile);
FILE 構造体から、Win32API互換のハンドルを取得して、そのハンドルに対して SetEndOfFile を実行し、EOFを書き込みました。
…なんか、負け気味っぽいコードですが、その辺はまぁ気にしない方向で。^^;

で、この問題に対処した結果、1つアプリが完成しました!その名も!

"おとうさま、XGworksのデバイス名を変更するの?" アプリケーション!!
http://ir9.jp/hd/tS040818.png
"XG works 4.0" という Yamahaさんが出した、MIDIシーケンサMIDIデータエディター)用のアプリケーションです。ぶっちゃけ、このソフトを使える環境がある方は、えらい少数な気がしますが、その辺は気にしない。XG works 4.0 の後継ソフトが既に出ちゃってたりしますが、気にしない。気にしない。

ちゅーわけで、本家のほうで近々UPしつつ、Vectorの方にも申請しようかと計画中。えぇ、申請しますよ。"おとうさま、XGworksのデバイス名を変更するの?" というアプリ名でねっ!!(力をこめて)