【C言語毎日練習(16)】文字列出力関数puts、fputs、printf


Cには、文字列を出力するための標準ライブラリ関数puts()と、fputs()とprintf()の3つがある.
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)に等しい.