c言語入力ストリーム

1057 ワード

scanf getchar gets fgets
1、scanf
呼び出しフォーマットはscanf(""");
例1.1整数
scanf("%d%d%d",&a,&b,&c);
3つの整数を順番に読み込み、スペースタブで折り返して区分します.
例1.2文字-スペースの役割
scanf("%c%c%c",&c1,&c2,&c3);
1.2.1"%c%c%c%c"の間にスペースがありません
i入力:
a b c
i出力
c 1=a c 2=(スペース)c 3=b
scanf("%c %c %c",&c1,&c2,&c3);
1.2.2"%c%c%c%c"の間にスペースがあります(個数は関係ありません)
ii入力:
a b c
ii出力
c1=a c2=b c3=c
例1.3文字列
scanf("%s",s)
i入力
asd ffg
i出力
s="asd"
スペースの前の文字列を切り取ります.
2、getchar()単一文字の取得
char c; c=getchar(); scanf("%c", c)はscanfの簡略化されたバージョンに相当します.
3、gets取得文字列
char s[5]; gets(s); printf("%s",s);
i入力
asdfghj
i出力
asdfghj
cは配列の長さを超えているかどうかをチェックしないので、長い文字列を入力することができ、文字列を出力するときは、文字列終了フラグ'0'に準拠します.お勧めしません
4、fgets取得文字列
char buf[5000]; fgets(buf,sizeof(buf),stdin)
本来fgetsはファイルから文字列を読み出し、ここでは標準入力に導き、この関数は入力した文字列の長さを指定することができる.