文字型の配列に数字以外の文字が入れられたときの処理
Posted: 2011年5月04日(水) 19:25
初めまして。質問失礼いたします。
文字型の配列に数字以外の文字が入れられるとエラーメッセージを出し、終了するプログラムを作りたいと思っています。
以下のような関数を使ってコンパイルしてみましたが、文字を入力してもエラーメッセージが表示されず、終了できませんでした。
void c_deli(const char y[])
{
int i = 0;
while(y[i++])
if(y >= '0' || y <= '9'){
;
}
else{
puts("エラー");
break;
};
}
またmainで、以下のようにコードを書くとchar型で入力された値をint型に変換することができるでしょうか?
fgets(y,sizeof(y),stdin);
c_deli(y);
yi = atoi(y);
ご教授いただけると嬉しいです。よろしくお願いします。
文字型の配列に数字以外の文字が入れられるとエラーメッセージを出し、終了するプログラムを作りたいと思っています。
以下のような関数を使ってコンパイルしてみましたが、文字を入力してもエラーメッセージが表示されず、終了できませんでした。
void c_deli(const char y[])
{
int i = 0;
while(y[i++])
if(y >= '0' || y <= '9'){
;
}
else{
puts("エラー");
break;
};
}
またmainで、以下のようにコードを書くとchar型で入力された値をint型に変換することができるでしょうか?
fgets(y,sizeof(y),stdin);
c_deli(y);
yi = atoi(y);
ご教授いただけると嬉しいです。よろしくお願いします。