諸君は,これらのライブラリー関数を全て憶える必要はない.ライブラ リー関数の大体の機能とその使い方が書かれている場所さえ知っていれば良い.プ ログラムを作成するときには,必要なライブラリー関数はC言語の本,あるいはWEBから探 すことになる.私のテストでも,これらのライブラリー関数は与えるので憶える必要は ない.
それでは,文字処理と文字列処理のライブラリー関数の使い方を学ぶことにしよう.
この文字処理関数のうち,文字が英数字6か否かを調べる関数isalnum()の使用例をリスト2 示す.キーボードからひとつの文字を読み込んで,それが英数字か否かを調べ,その結果 を表示している.
表1に示すとおり,便利な文字列処理関数はたくさんある.
それを使うためには,ctype.hというヘッダーファイル7をインクルードしなくてはな
らない.ただし,コンパイル(gcc)時には,特別なオプションは必要ない.
1 #include <stdio.h> 2 #include <ctype.h> 3 4 int main(void) 5 { 6 char hoge; 7 8 scanf("%c", &hoge); 9 10 if(isalnum(hoge)){ 11 printf("入力された文字は英数字です.\n"); 12 }else{ 13 printf("入力された文字は英数字ではありません.\n"); 14 } 15 16 return 0; 17 }
この文字列処理関数のうち,文字列をコピーする関数strcpy()の使用例をリスト 3に示す.このプログラムを実行してみると,文字列を配列にコピーし ていることが分かるだろう.
この例からも分かるように,戻り値は使わなくてもよい.文字列処理関数の場合戻り値が ポインターの場合が多いので,まだ,諸君には難しいであろう.次回の講義からポインター の話をするので楽しみにしてください.
表2に示すとおり,たくさんの便利な文字列処理関数がある.
それを使うためには,string.hというヘッダーファイルをインクルードしなくてはな
らない.ただし,コンパイル(gcc)時には,特別なオプションは不要である.
1 #include <stdio.h> 2 #include <string.h> 3 4 int main(void){ 5 char foo[30]="もうかりまっか?"; 6 char hoge[30], fuga[30]; 7 8 strcpy(hoge, foo); 9 strcpy(fuga, "ごっつい,もうかるでー"); 10 printf("%s\n", hoge); 11 printf("%s\n", fuga); 12 13 return 0; 14 }