コマンドライン引数の取得

コマンドラインからの引数を確認するプログラム

#include <stdio.h>

void main( int argc, char *argv[] )
{
 printf( "argc:%d\n", argc );
 for ( int i = 0; i < argc; i++ )
  printf( "argv[ %d ]:%s\n", i, argv[ i ] );
}


以下のような内容の起動用バッチも作成しておきます。

適当.exe 第1引数 第2引数
pause


実行結果

argc:3
argv[ 0 ]:適当.exe
argv[ 1 ]:第1引数
argv[ 2 ]:第2引数


argcはコマンドラインからmain関数へ渡されたすべての引数の数です。
argv[0]はコマンド名そのものを示しています。
"適当.exe"から見た場合、第1引数はargv[1]、第2引数はargv[2]に入ります。

これを利用してファイル入出力処理をコマンドラインから行う事ができます。

ファイルから1文字ずつリードしてディスプレイに表示していくプログラム

#include <stdio.h>
#include <stdlib.h>

void main( int argc, char *argv[] )
{
 FILE *fp;
 int c;

 if ( argc != 2 ) {
  printf( "引数の数が違います\n" );
  exit( 1 );
 }
 if ( ( fp = fopen( argv[1], "r" ) ) == NULL ) {
  printf( "入力ファイルがオープンできません\n" );
  exit( 1 );
 }

 while ( ( c = getc( fp ) ) != EOF )
  putchar( c );

 fclose( fp );
}

C > 標準関数 > ファイル入出力関数 | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks