http://www.ncad.co.jp/~komata/c-kouza14.htm
#include<stdio.h>
#include<stdio.h>
#include<dirent.h>
void main(argc,argv)
int argc; //exefileにしたときにコマンドラインからコマンドをとって文字の総数と文字のポインタの配列を取得する。
char *argv[];
{
DIR *dir;
struct dirent *dp;
char path[512];
if(argc<=1){//もし取得した文字数が1以下なら(argcはもともと何かが入っているから1からでしたっけ?)pathにカレントディレクトリを渡す。
strcpy(path,".");
}else{//それ以外なら配列をパスにコピー
strcpy(path,argv[1]);
}
if((dir=opendir(path))==NULL){//もしdirがNULLならエラーを表示して終了。
perror("opendir");
exit(-1);
}
for(dp=readdir(dir);dp!=NULL;dp=readdir(dir)){//構造体に次のファイルをいれる;dpがNULL以外;なぜ二回同じことをやってるのでしょうか?
printf("%s\n",dp->d_name);//構造体を順々に変えていき名前を表示
}
closedir(dir);//opendirを終了
}1>c:\game\dxlibtest\dxlibtest\test.cpp(4) : error C2065: 'argc' : 定義されていない識別子です。
1>c:\game\dxlibtest\dxlibtest\test.cpp(4) : error C2065: 'argv' : 定義されていない識別子です。
1>c:\game\dxlibtest\dxlibtest\test.cpp(5) : error C2448: 'main' : 関数の定義が間違っています
ですが、ちゃんとint argcとchar argvは定義しているのにこのエラーがでますし、int main のどこが間違っているのかがわかりませんでした。
僕はこの関数をWINAPIで使いたいのですがそのときに使うargcとargvはどこにあるのでしょうか?
もうひとつこのサンプルプログラムの僕の解釈があっているのかが心配なので、違うところがあったら教えてください。
僕の解釈はプログラムの中に書き込みます。
ご回答よろしくお願いします。