入出力

データの入力

入力にはscanf関数、getchar関数、gets関数などがあります。
scanf関数はprintf関数の逆のような関数です。
getchar関数は1文字だけ読み込みます。
gets関数は文字列を1行読み込みます。
#console
#include<vcrt71.sbp>

Dim x As Long
Dim c As Long
Dim buf[300] As Byte

printf(Ex"数値を入力してください\n")
scanf("%d" , VarPtr(x))
printf(Ex"x = %d\n" , x)
getchar()'改行をクリア

printf(Ex"何か入力してください\n")
c = getchar()
printf(Ex"c=%c\n" , c)
getchar()'改行をクリア

printf(Ex"何か入力してください\n")
gets(buf)
printf(Ex"buf=%s\n" , buf)
scanf関数は左にprintfと同じような書式を書いて、右側に変数を書きます。
このとき変数はVarPtr関数を使って、ポインタ指定にします。
ポインタについては次回詳しく解説します。ここでは、引数でデータを受け取るにはポインタを使わなければならないことを覚えておいてください。

scanf関数とgetchar関数は、お尻の改行コードを無視するので、getchar関数で改行コードをクリアしています。
改行コードをクリアしなかった場合、c=getchar()のところでcに改行コードがはいってしまします。

getchar関数の戻り値はByteではなくてLongです。Byteにすると問題が起こることがあります。

gets関数ですが、文字列を読み込むために、文字列の配列を宣言します。(Dim buf[300] As Byte)
配列については次回詳しく説明します。とりあえず、gets関数の使い方をなんとなく理解してください。

データの出力

printf関数、putchar関数、puts関数などがあります。
#console
#include<vcrt71.sbp>

Dim x As Long
Dim c As Long
Dim buf[300] As Byte

printf(Ex"数値を入力してください\n")
scanf("%d" , VarPtr(x))
printf(Ex"x = %d\n" , x)
getchar()'改行をクリア

printf(Ex"何か入力してください\n")
c = getchar()
putchar(c)
getchar()'改行をクリア

printf(Ex"何か入力してください\n")
gets(buf)
puts(buf)
getcharとputchar、getsとputsがなんとなく対応しています。
putcharは引数の1文字、pursは引数の文字列を表示します。