この講義では, 関数 sscanf() を使って変換する事とします(string scanf).
/* 文字列を 2つの整数に変換する */ /* File name 3-4.c */ #include <stdio.h> #define BUFFSIZE 1024 main() { char mojiretsu[BUFFSIZE]; /* 入力文字列 */ int m, n; /* 変換された整数を m, n に保存 */ printf("2つの整数を空白で区切って入力して下さい >> "); /* キーボードからの入力を mojiretsu に格納します */ fgets(mojiretsu, BUFFSIZE, stdin); /* 文字配列 mojiretsu から整数を取り出します * m, n の前に &(アンパサンド)が必要です */ sscanf(mojiretsu, "%d %d", &m, &n); /* m, n を使った計算結果の表示 */ printf("m = %d, n = %d m+n = %d\n", m, n, m+n); }
関数 sscanf の最初の引き数は, 文字列の入っている配列の名前です.
2番目の引き数は取り出すデータの型を"で囲んで記述します.
printf と大体同じです.
double型のデータを受け取るときは, %f
を使用します.
変換された整数を受け取る変数の前には &
が必要です.