2017-04-11 15 views

答えて

0
strcat(argv[1], original); 

argv[1]のタイプはconst char*あり、strcatの最初の引数はchar*あります。

argvの文字列は変更されません。

char txtextension[5] = ".txt"; 
char filename[200]; // 200 will be hopefully enough 
strcpy(filename, argv[1]); 
strcat(filename, txtextension); 
FILE *find; 
find = fopen(filename, "r"); 

Sidenotes:あなたは基本的にこの(改善の余地がまだある)必要

  1. char original[] = ".txt";char original[5] = ".txt";を交換してください。後者の場合、コンパイラは自動的に正しいメモリサイズを割り当てます。
  2. 名前が表す内容に応じて変数が変更されるため、originalにはtxtextensionという名前を付ける必要があります。
+0

ありがとうございました。これで私のプログラムが動くようになりました。 #私は英語が上手ではありません。だから私が間違った文章を書くと申し訳ありません。 –

+0

答えが必要な場合は、アウトラインのチェックマークをクリックして回答を受け付ける必要があります。 –

+0

200が十分であることを望んでいない場合は、配列サイズの 'limits.h'(Windowsの場合は' MAX_PATH')に 'PATH_MAX'定義を入れる必要があります。 – mch

関連する問題