C400

4. C言語におけるパラメータの処理

CALL MYLIB/MYPGM PARM(AAA BBB) のようにパラメータを渡して処理するような

C言語の例を紹介する。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TRUE         0                
#define FALSE       -1                
void main(int argc, char *argv[]){    
    char PARM_1[10];                  
    char PARM_2[10];                  
    memcpy(PARM_1, argv[1], 10);      
    PARM_1[10] = 0x00;                
    memcpy(PARM_2, argv[2], 10);      
    PARM_2[10] = 0x00;                
    printf("PARM_1 = %s\n", PARM_1);  
    printf("PARM_2 = %s\n", PARM_2);  
    getchar();                        
}

パラメータの数は argc である。パラメータは argv[1], argv[2], … で取得できるが、

最後に PARM_1[10] = 0x00; のように NULL-Stop を入れることに注意。

C 言語の場合、変数のたいていは NULL で終わりとみなされるが、パラメーターの受け取りでも

自分で NULL を入れないと文字列は意図しない部分まで連続しているものとみなされてしまう。