このブログを運営してからどれくらい経ったかわからないが、ようやくよくわからんところがわかった気がする。
というのも、私はC言語が嫌いでずっとPythonばっかり触れてきたものだから、C言語に触れる機会がなかったのだ。
しかし、高専にきて最初のプログラミングの授業では最初はC言語をやらせられるわけだな。
int mainはおまじないじゃねえよ!!
ただ、改めて考えてみたら、main(この部分) ってvoidじゃないパターンあんのなかと思い始めた。
そもそも、ここは引数的なもんだと思うから、ここが空じゃないとしたら、だれが引数を指定するのか?gccなのか?
ということでネットで調べて以下のコードを書いてみた。
#include <stdio.h>
int main(int argc, char *argv[]){
if (argc > 1){
printf("%s\n", argv[1]);
} else {
printf("No input file.");
}
scanf("\n");
return 0;
}※デスクトップで実行した場合のために最後にscanfを追加している。
とりあえず、だれから引数が渡されるのかというと、ユーザーらしい。当たり前か。コマンドライン引数がここにくるらしい。
ただ、見てほしい。argv[1] !?!? argv[0] には何があるんだよ!!!
ということで以下のようにコードを編集した。
#include <stdio.h>
int main(int argc, char *argv[]){
if (argc > 1){
printf("%s\n", argv[0]);
printf("%s\n", argv[1]);
} else {
printf("No input file.");
}
scanf("\n");
return 0;
}
そう、こうやってargv[0]に何があるか強制的に見てやるって作戦だ。
ということでさっそく実行してみたわけだ。
0 件のコメント:
コメントを投稿