Report#6 コマンドラインパラメータ(大小文字変換) †コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ。入力は1バイトの表示可能文字とし、アルファベット文字以外は変換しない。 また、文字列を反転して表示するプログラムも作成せよ。(例 "abcd" => "dcba") 例: 入力 出力 Abc -> aBC string001 -> STRING001 プログラムには以下の関数を定義して作成すること。 replace( char *dest, char *str) 引数で指定された文字列の大文字と小文字を変換するプログラム。 strを変換し、destに変換結果を代入する。 [引数] dest : 変換結果の複写先 str : 変換対象の文字列 使用例: void replace(dest, str) char *dest, *str; 実行例: a.out This is sample STRING Asm#6. 'This' -> 'tHIS' 'is' -> 'IS' 'sample' -> 'SAMPLE' 'STRING' -> 'string' 'Asm#6' -> 'aSM#6' サンプルプログラムと実行例 †pw010% cat argcv.c /* Program : argcv.c Comment : コマンドラインパラメータ、任意の実行可能ファイル名の作成 */ #include <stdio.h> int get_n(char *); void print_data(char *,int); int main(int argc, char **argv){ int i,n; printf("argc = %d\n\n",argc); for (i=1,argv++; *argv != NULL; i++,argv++) { printf("parameter(%2d)\t%s\n",i,*argv); n = get_n(*argv); print_data(*argv,n); } return(0); } int get_n(char *pa){ int i; for (i=0; *pa != NULL; i++,pa++); return(i); } void print_data(char *pa,int n){ printf("n=%2d %s\n",n,pa); } /*************************************************************** Result pw010% cc argcv.c -o prog pw010% prog a bb ccc dddd eeeee argc = 6 parameter( 1) a n= 1 a parameter( 2) bb n= 2 bb parameter( 3) ccc n= 3 ccc parameter( 4) dddd n= 4 dddd parameter( 5) eeeee n= 5 eeeee **********************************************************************/ ヒント |