☆ロクラク☆

このエントリーをはてなブックマークに追加
222名無しさん@お腹いっぱい。
ちょっとだけ改訂しました。
出力ファイル名を省略した場合、元ファイルを上書きするようになっています。
あと、エラー処理も中途半端に追加しました。

#include "stdio.h"
int main(int argc, char* argv[])
{
  int i, c;
  FILE *ifp, *ofp;
  if( argc == 2 ){
    if( (ifp = fopen( argv[1], "r+b" )) == NULL ){
      printf( "Error in fopen '%s'\n", argv[1] );
      return -1;
    }
    if( fseek( ifp, 3L, SEEK_SET) ){
      printf( "Error in fseek\n" );
      return -1;
    }
    putc( 0xB3, ifp );
    fclose( ifp );
  } else if( argc == 3 ){
    if( (ifp = fopen( argv[1], "rb" )) == NULL ){
      printf( "Error in fopen '%s'\n", argv[1] );
      return -1;
    }
    if( (ofp = fopen( argv[2], "wb" )) == NULL ){
      printf( "Error in fopen '%s'\n", argv[2] );
      return -1;
    }
    for( i = 0; i < 3; i++ ){
      c = getc( ifp );
      putc( c, ofp );
    }
    getc( ifp ); // for Skip
    putc( 0xB3, ofp );
    while( (c = getc( ifp )) != EOF )
      putc( c, ofp );
    fclose( ifp );
    fclose( ofp );
  } else {
    printf( "xxxx.exe InputFileName [OutputFileName]\n" );
  }
  return 0;
}

こんなに掲示板のスペースを占有して良いのですかね?
こっちの掲示板、誰も利用しなくなりましたから、良いですよね?