#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
char gyou[1024];
int gyousuu = 0;
if ( argc < 2 ){
printf("file mei ga nai\n");
return -1;
}
fp = fopen(argv[1], "r");
if ( fp == NULL ){
printf("fopen dekinai\n");
return -2;
}
while(fgets(gyou, sizeof(gyou), fp) != NULL){
gyousuu++;
}
fclose(fp);
printf("gyousuu=%d\n", gyousuu);
return 0;
}
以上のプログラムはご覧のとおり、「ファイルの行数を計算」のプログラムです。
さて以上の
if ( argc < 2 ){
printf("file mei ga nai\n");
return -1;
}
は「コマンドライン引数チェック」を行っています。・・・
if ( argc < 2 ){の「argcは2以上である必要がある」と参考書に書いてあります。
以上ですが意味が日光手前ですが、プログラムの行数をカウントするうえで、
「コマンドライン引数チェック」とはどんな作業を行っているとこなのでしょうか!?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
例えばプログラム名をhogeとした場合
hoge と起動した場合
argc = 1
argv[0] = "hoge"
hoge aaa bbb の様に起動した場合
argc = 3
argv[0] = "hoge"
argv[1] = "aaa"
argv[2] = "bbb"
↑の値が各変数にセットされます。
以後の処理で、それらの値を使用するのが
必須の場合、引数をつけずにプログラムを
起動したか、値が適切な物であるかどうか
を「コマンドライン引数チェック」で確認
してチェック結果に応じた処理をします。
No.2
- 回答日時:
No.1
- 回答日時:
これの意味がわからないとすると、Cを全く知らないレベルでしょうか?
「コマンドライン」とか「引数」の言葉の意味はわかるのでしょうか?一応、わかると仮定して説明すると、処理内容は、
もし「コマンドラインの引数の数がコマンド名も入れて2未満なら」、言い換えると引数が無ければ、
file mei ga nai と表示して、プログラムをリターンコード -1 で終了する
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
なぜCSQとCIP形式ではコ...
-
c言語でのfscanfについて
-
fgets( ) の返り値は何?
-
txtファイルの文字を配列に格納
-
c言語 ファイルから数字を読み...
-
【C言語】ファイルを読み込んで...
-
日本語ファイル名のFTPについて
-
C言語 連番データの読み込み
-
C言語を用いて、csvファイル内...
-
複数ファイルの同時読み込みの...
-
ガンマ変換 C言語でプログラ...
-
lockfについて
-
構造体とファイル検索(><)
-
C言語でファイル読み書きを早く...
-
ファイルへの書込み処理が異常...
-
fgets関数の利用 c言語
-
OpenGLによる描画内容をBMP出力
-
C言語 ファイル入出力について
-
CSVファイルの内容を構造体に格...
-
C言語でファイル名を変数にした...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語でのfscanfについて
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
複数ファイルの同時読み込みの...
-
fgets( ) の返り値は何?
-
テキストファイル内に対して, ...
-
ファイルへの書込み処理が異常...
-
C言語にてXMLファイルから任意...
-
ファイル出力で改行を入れたい!
-
C言語でセグメンテーションエ...
-
エラーがわかりません、、
-
ガンマ変換 C言語でプログラ...
-
自己相関関数を求めるプログラ...
-
VisualStudioでのファイルの入...
-
同時にファイル読み込み 書き込み
-
c言語 ファイルから数字を読み...
-
大量の入力ファイルを扱うとき...
-
ファイルが読み込めない・・・
-
【C言語】ファイルを読み込んで...
-
a*(1-exp(-bx))+cの近似の方法
おすすめ情報