C言語例文集


 scanf()を使わずに数値を標準入力する

<サンプルプログラム>

/****************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define BUF 256  // 配列の要素数

int main()
{
    char str[BUF]; // 文字列入力用
    int num;       // 数値変換用
    int cnt;       // for文用カウンタ

    memset(str, '\0', sizeof(str));  // 配列の中身を初期化する

    fprintf(stdout, "数値を入力して下さい -> ");
    fgets(str, BUF, stdin);  // 文字列入力

    // 改行コード(\n)を削除する(\0に変更する)処理
    for(cnt = 0; cnt < BUF; cnt++)
    {
        if(str[cnt] == '\n' || (str[cnt] == '\r' && str[cnt + 1] == '\n'))
        {
            str[cnt] = '\0';  // 改行コードを削除
            break;
        }
    }

    num = atoi(str);          // 文字列を数値に変換

    fprintf(stdout, "入力文字(%s)を数値(%d)に変換しました。\n", str, num);
    fprintf(stdout, "\n");

    return 0;
}
/****************************************************************************/

<実行結果>




<Topページ>

Copyright(c) 2010 , cgengor
このWebページの内容を無断で複製または転載することを禁じます。
このWebページの情報を利用することにより発生したいかなる損害について著作権保有者はいっさいの責任を負いません。