引数で指定したファイルを別のドライブに移すには


toshi  2010-12-07 08:58:37  No: 72122  IP: [192.*.*.*]

よろしくお願いします。
開発はWindows 7  VS2010 C++ Expressでしています。
タイトルの件なのですが、現在取り組んでいるプログラムがプログラム起動時に第一引数で指定したファイルを第二引数で指定したドライブに移動するというものなのですがうまくいきません。これは私の知識不足が問題なのですが、プログラムの最後にCopyFileで元のデータを作成するというようなものにしようとしているのですが、そこで引数の型に互換性がないとエラーが発生します。以下にソースコードを書きますのでどなたかご指摘いただけたら幸いに存じます。

int _tmain(int argc, CHAR* argv[])
{
  FILE* outputfile;
  time_t t;
  struct tm *ltm;
  char s[15];
  
  time(&t);

  time(&t);
  ltm = localtime(&t);
  fmttm(s, ltm);
//ドライブ名格納領域
  char szDrive [_MAX_DRIVE +1];
  //パス名格納領域
  char szPath [_MAX_PATH + 1];
  //ファイルタイトル格納領域
  char szTitle [_MAX_FNAME + 1];
  //ファイル拡張子格納領域
  char szExt [_MAX_EXT + 1];

  //絶対パスの分解
  _splitpath(argv[1],
    szDrive, szPath,
    szTitle, szExt);
  
  const char *oldcsvname = argv[1];
  char newname[128];
    char oldnewname[128];
  
  sprintf(newname, "%s:\\%s%s%s", argv[2], szTitle, s, szExt);
  sprintf(oldnewname,"%s%s%s%s",szDrive,szPath,szTitle,szExt);
  rename(oldcsvname, newname);
  

  CopyFile(newname, oldnewname, FALSE);
          //↑ここでエラーになります。
  return 1;
}

編集 削除
瀬戸っぷ  2010-12-07 13:12:37  No: 72123  IP: [192.*.*.*]

>そこで引数の型に互換性がないとエラーが発生します。

実際にコンパイラが出力するエラーメッセージはどんなのですか?

あとは…プロジェクトも文字セットは「マルチ バイト文字セットを使用」ですか?「Unicode 文字セットを使用」のどちらですか?

編集 削除