【C言語毎日練習(16)】文字列出力関数puts、fputs、printf
1155 ワード
Cには、文字列を出力するための標準ライブラリ関数puts()と、fputs()とprintf()の3つがある.
1、puts()関数は文字列パラメータのアドレスを与えるだけです.
#include
int puts(const char *s);
例:
実行結果テスト:
注:上の文字列はすべて単行表示ですが、改行は後に追加されません.これはprintf()とは異なり、puts()が文字列を表示すると自動的に改行文字が追加されます.2、fputs()関数の場合puts()のファイル向けバージョン.両者の違いは次のとおりです.
a、fputs()は、書くファイルを説明するために2番目のパラメータが必要です.
b、puts()と異なり、fputs()は出力に改行文字を自動的に追加しない.
#include
int fputs(const char *s, FILE *stream);
注意:gets()は入力内の改行を破棄しますが、puts()は出力に改行を追加します.一方、fgets()は入力中の改行文字を格納し、fputs()も出力に改行文字を追加しない.
テクニック:ループを書くと仮定し、ローを読み出して次のローに戻します.このように書くことができます.
char line[80];
while(gets(line))
puts(line);
3、printf()とputs()の違いの一つはprintf()が新しい行に各文字列を自動的に出力しないことである.別の行が必要な場所を指定しなければなりません.
pintf("%s ", string);puts(string)に等しい.
1、puts()関数は文字列パラメータのアドレスを与えるだけです.
#include
int puts(const char *s);
例:
#include
#define DEF "I am libing"
int
main(int argc, char **argv)
{
char str1[30] = "I am libing.";
const char *str2 = "I am libing";
puts("I am libing.");
puts(DEF);
puts(str1);
puts(str2);
return 0;
}
実行結果テスト:
I am libing.
I am libing
I am libing.
I am libing
注:上の文字列はすべて単行表示ですが、改行は後に追加されません.これはprintf()とは異なり、puts()が文字列を表示すると自動的に改行文字が追加されます.2、fputs()関数の場合puts()のファイル向けバージョン.両者の違いは次のとおりです.
a、fputs()は、書くファイルを説明するために2番目のパラメータが必要です.
b、puts()と異なり、fputs()は出力に改行文字を自動的に追加しない.
#include
int fputs(const char *s, FILE *stream);
注意:gets()は入力内の改行を破棄しますが、puts()は出力に改行を追加します.一方、fgets()は入力中の改行文字を格納し、fputs()も出力に改行文字を追加しない.
テクニック:ループを書くと仮定し、ローを読み出して次のローに戻します.このように書くことができます.
char line[80];
while(gets(line))
puts(line);
3、printf()とputs()の違いの一つはprintf()が新しい行に各文字列を自動的に出力しないことである.別の行が必要な場所を指定しなければなりません.
pintf("%s ", string);puts(string)に等しい.