人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windows コマンドラインプログラムを作っています。エラーになるため教えてください。

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp;
char str[256];
char *para;
fp=fopen(argv[1],"r");
while(!feof(fp)){
fgets(str,256,fp);
printf("%s",str);
}
getchar();
return 0;
}

上記のプログラムをコンパイルすると以下のエラーがでます。どうすればいいのでしょうか?

error C2664: 'fopen' : 1 番目の引数を '_TCHAR *' から 'const char *' に変換できません。

そこで
fp=fopen((char *)argv[1],"r");
と書き換えるとエラーは消えますが実行時に引数の1文字目しか代入されていません。

たとえば

progame名 abcdef.txt
とすると((char *)argv[1]にはaしか入っていません。

どうすればいいでしょうか。教えてください。

●質問者: mai_mai_mail
●カテゴリ:コンピュータ インターネット
✍キーワード:ARGV Char const FP PARA
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● しおり
●60ポイント

Unicode/ANSI アプリケーションをコンパイル時に切り替えるようにするのなら、「_t*」関数(マクロ)を一貫して使わないといけません。

fopen -> _tfopen 

fopen、_wfopen (CRT)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ