【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.20542

エラーチェック時の型について
投稿者---まみ(2005/04/04 12:00:44)


初めまして。エラーチェックの方法について勉強しています。
isdigitを使って数字かどうかチェックしたいのですが、入力する数字はint型なのですが、調べたところisdigitで使う型はcharでないといけないようで、どのように型を変換するのかわかりません。
どうぞよろしくお教えください。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:エラーチェック時の型について 20544 nop 2005/04/04 12:41:11
<子記事> Re:エラーチェック時の型について 20545 Blue 2005/04/04 12:47:53


No.20544

Re:エラーチェック時の型について
投稿者---nop(2005/04/04 12:41:11)


>isdigitを使って数字かどうかチェックしたいのですが、入力する数字はint型なのですが、調べたところisdigitで使う型はcharでないといけないようで、どのように型を変換するのかわかりません。

まず、「数値」と「数字」の区別を付けましょう。



この投稿にコメントする

削除パスワード

No.20545

Re:エラーチェック時の型について
投稿者---Blue(2005/04/04 12:47:53)


ふつうは fgets で文字列として取得してからチェックするもの。

#include <stdlib.h> #include <stdio.h> #include <ctype.h> #define BUFF_SIZE 32 int main( void ) { char szBuff[ BUFF_SIZE ]; char cCheck; int nLoop; int nNum; printf( "数値を入力してください。 : " ); fgets( szBuff, BUFF_SIZE, stdin ); for ( nLoop = 0; cCheck = szBuff[ nLoop ], cCheck != '\0'; nLoop++ ) { if ( cCheck == '\n' ) { szBuff[ nLoop ] = '\0'; break; } if ( !isdigit( cCheck ) ) { printf( "数値以外の入力がありました。不正な文字は %c です。\n", cCheck ); return EXIT_FAILURE; } } nNum = atoi( szBuff ); printf( "入力された数値は %d です。\n", nNum ); return EXIT_SUCCESS; }




この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧