Visual C++ Express 2010 を使用してコマンド ライン引数をプログラムに渡す際に問題が発生しました。デバッグ中に次の入力を使用してコマンド引数を見つけました。このファイルは、.c ソース コードと共に私のプロジェクト フォルダーにあります。
TestFile1.txt 2
メインの下に char ポインターを静的に定義するだけで、プログラムは正常に動作します。したがって、現時点では、問題が 2010 にあるのかコードにあるのかはわかりません。コマンドライン引数をテストするために、他の方法でコンパイルおよび実行する方法がわかりません。誰かがこれをコンパイルして、自分のシステムで動作するかどうかを確認できれば素晴らしいことです。
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 256
int main(char *argv[])
{
//char *argv[] = { "program", "TestFile1.txt", "2" };
char buf[BUFFER_SIZE];
FILE *inFp;
printf("%s",argv[1]);
if ((inFp = fopen (argv[1], "r")) == NULL)
{
fprintf(stderr, "Can't open file\n");
exit(EXIT_FAILURE);
}
fclose(inFp);
return 0;
}