在C/C++中使用puts()函数

时间:2020-02-23 14:30:02  来源:igfitidea点击:

介绍

在本教程中,我们将讨论C和C++编程语言中广泛使用的puts()函数。

即使C和C++中的printf()cout函数在打印变量,数字,行等方面都很突出。
在打印字符串特别是printf()时,它们最终会落后。
在这种情况下,puts()函数很方便。

C/C++中的puts()函数

C/C++中的puts()函数用于将一行或者字符串写入output(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++

如您所见,我们的字符串Mystr已成功打印到stdout中。
下面给出的代码段在C++中也产生相同的输出。

#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"。
当使用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()VS fputs()函数

如我们先前所知,puts()函数将一行或者字符串写入stdout流。
而fputs()函数用于写入任何流或者文件。
因此,这两个函数之间的最大区别在于,用户可以使用" fputs()"来指定他/她想要写入的流。

此外,fputs()函数不会在传递的字符串/行的末尾附加换行符(" \ n"")。