9.1 文字列操作

  3.サンプルプログラム

/***
  文字の種類を調べる
***/
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void){
 int i, jg;
 char str[ ] = "4m M";

 /*** 英数字の判定 ***/
 printf("文字列: %s\n", str);
 for(i=0; i<5; i++){
   jg = isalnum(str[i]);
  if (jg != 0){
    printf("%d 番目の文字は英数字\n", i+1);
  } else {
    printf("%d 番目の文字は英数字でない\n", i+1);
  }
 }

  /*** アルファベットの判定 ***/
 printf("文字列: %s\n", str);

 for(i=0; i<5; i++){
  jg = isalpha(str[i]);
  if (jg != 0){
    printf("%d 番目の文字はアルファベット\n", i+1);
  } else {
    printf("%d 番目の文字はアルファベットでない\n", i+1);
  }
 }

 /*** 制御文字の判定 ***/
 printf("文字列: %s\n", str);
 for(i=0; i<5; i++){
  jg = iscntrl(str[i]);
  if (jg != 0){
    printf("%d 番目の文字は制御字\n", i+1);
  } else {
    printf("%d 番目の文字は制御字でない\n", i+1);
  }
 }

  /*** 数字の判定 ***/
 printf("文字列: %s\n", str);
 for(i=0; i<5; i++){
  jg = isdigit(str[i]);
  if (jg != 0){
    printf("%d 番目の文字は数字\n", i+1);
  } else {
    printf("%d 番目の文字は数字でない\n", i+1);
  }
 }

 /*** アルファベットの小文字判定 ***/
 printf("文字列: %s\n", str);

  for(i=0; i<5; i++){
  jg = islower(str[i]);
  if (jg != 0){
    printf("%d 番目の文字はアルファベットの小文字\n", i+1);
  } else {
    printf("%d 番目の文字はアルファベットの小文字でない\n", i+1);
   }
 }

 /*** 空白類似文字判定 ***/
 printf("文字列: %s\n", str);
 for(i=0; i<5; i++){
  jg = isspace(str[i]);
  if (jg != 0){
    printf("%d 番目の文字は空白類似文字\n", i+1);
  } else {
    printf("%d 番目の文字は空白類似文字でない\n", i+1);
  }
 }

 /*** アルファベットの大文字判定 ***/
 printf("文字列: %s\n", str);
  for(i=0; i<5; i++){
  jg = isupper(str[i]);
  if (jg != 0){
    printf("%d 番目の文字はアルファベットの大文字\n", i+1);
  } else {
    printf("%d 番目の文字はアルファベットの大文字でない\n", i+1);
   }
 }

 /*** アルファベットを小文字に変換 ***/
 printf("文字列 %s のアルファベットを小文字に変換\n", str);

  for(i=0; i<5; i++){
   str[i] = tolower(str[i]);
 }
 printf("変換後の文字列: %s\n", str);

 /*** アルファベットを大文字に変換 ***/
 printf("文字列 %s のアルファベットを大文字に変換\n", str);
 for(i=0; i<5; i++){
   str[i] = toupper(str[i]);
  }
 printf("変換後文字列: %s\n", str);
}




2003年5月3日 12:41 更新