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.
コメントを残す 0

Your email address will not be published. Required fields are marked *