コマンドライン引数の取得
コマンドラインからの引数を確認するプログラム
以下のような内容の起動用バッチも作成しておきます。
実行結果
argcはコマンドラインからmain関数へ渡されたすべての引数の数です。
argv[0]はコマンド名そのものを示しています。
"適当.exe"から見た場合、第1引数はargv[1]、第2引数はargv[2]に入ります。
これを利用してファイル入出力処理をコマンドラインから行う事ができます。
ファイルから1文字ずつリードしてディスプレイに表示していくプログラム
#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 );
}
Comments