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
**********************************************************************/

ヒント



添付ファイル: fileargcv1.c 125件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-26 (火) 14:27:45 (697d)