C/C++でputs()関数を使用する
以下の文章を日本語で言い換えてください、1つの選択肢で結構です:
イントロダクション
こんにちは、読者の皆さん!今日のチュートリアルでは、C言語とC++言語の両方で広く使用されているputs()関数について話し合います。
C言語とC++言語のprintf()関数やcout関数は、変数や数字、行などを出力する際には優れているが、特に文字列を出力する際には、printf()関数はやや遅れをとる。その場合にはputs()関数が便利です。
C/C++におけるputs()関数
C/C++のputs()関数は、行または文字列を出力(stdout)ストリームに書き込むために使用されます。それは渡された文字列を改行付きで出力し、整数値を返します。返される値は書き込み手続きの成功に依存します。
以下にputs()関数の宣言があります。
int puts(const char* str);
ここでは、表示する定数文字列strがあります。
小さな例を見てみましょう。
#include<stdio.h>
int main()
{
//string initialisation
char Mystr[] = "C and C++";
puts(Mystr); //writing the string to stdout
return 0;
}
出力:
C and C++
以下のコードスニペットでも、C ++では「Mystr」という文字列が正常にstdoutに出力されていることがわかります。
#include<iostream>
using namespace std;
int main()
{
//string initialisation
char Mystr[] = "C and C++";
puts(Mystr); //writing the string to stdout
return 0;
}
C/C++でputs()関数を使用する
前に言った通り、puts()関数は文字列/行を書く際に末尾に改行文字を追加します。
#include<stdio.h>
int main()
{
//string initialisation
char Mystr1[10] = "Python";
char Mystr2[10] = "Kotlin";
puts(Mystr1);
puts(Mystr2); //not specifically adding a newline
return 0;
}
結果:
Python
Kotlin
ここでは、Mystr1とMystr2という2つの文字列を初期化しました。CまたはC++でputs()メソッドを使用してこれらの文字列を出力する際、関数には既に”\n”(改行)が自動的に追加されるため、特に追加する必要はありません。
puts() の戻り値
puts()関数は、成功した場合には非負の整数を返します。それ以外の場合、エラーが発生した場合にはEOFを返します。
以下に示された例は、puts()関数の戻り値を示しています。
#include<stdio.h>
int main()
{
//string initialisation
char Mystr[] = "The puts() function";
int val = puts(Mystr);
printf("Returned Value Val = %d", val);
return 0;
}
出力:
The puts() function
Returned Value Val = 0
C/C++におけるputs()とfputs()関数の違いは何ですか?
前に学んだように、puts()関数は行または文字列をstdoutストリームに書き込みます。一方、fputs()関数は任意のストリームまたはファイルに書き込むために使用されます。したがって、両関数の最大の違いはfputs()では、ユーザーが書き込みたいストリームを指定できるということです。
さらに、fputs()関数は渡された文字列/行の末尾に改行文字(“\n”)を追加しません。
結論
では、今日はこれで終わりです。充実した学習体験ができましたことを願っています。
C/C++のputs()関数に関する追加の質問があれば、どうぞ以下のコメントを利用してください。
参考文献
- C++ puts() – C++ References,
- C++ Tutorial,
- fgets() and gets() in C Programming,
- What is the difference between printf() and puts() in C? – Stack Overflow Question.