C/C++ puts()函数详解:掌握标准输出函数的使用技巧

引言

大家好!今天在本教程中我们将讨论在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()
{
	//字符串初始化
    char Mystr[] = "C and C++";
    
    puts(Mystr); //将字符串写入标准输出
    
    return 0;
}

输出结果:

C and C++

正如您所看到的,我们的字符串Mystr已经成功地打印到了标准输出(stdout)。下面的代码片段在C++中也产生了相同的输出。

#include<iostream>
using namespace std;
int main()
{
	//字符串初始化
    char Mystr[] = "C and C++";
    
    puts(Mystr); //将字符串写入标准输出
    
    return 0;
}

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

我们之前提到过,puts()函数在写入字符串/行时会在末尾追加换行符。

#include<stdio.h>
int main()
{
	//字符串初始化
    char Mystr1[10] = "Python";
    char Mystr2[10] = "Kotlin";
    
    puts(Mystr1);
    puts(Mystr2); //不特别添加换行符
    
    return 0;
}

输出结果:

Python
Kotlin

在这里,我们初始化了两个字符串Mystr1和Mystr2。在使用C或C++中的puts()方法打印这些字符串时,我们不需要特别添加”\n”(换行符),因为该函数已经自动附加了一个。

puts()函数的返回值

puts()函数在成功执行时返回非负整数值,否则返回EOF表示发生错误。

下面给出的示例演示了puts()函数的返回值。

#include<stdio.h>
int main()
{
	//字符串初始化
    char Mystr[] = "The puts() function";
    
    int val = puts(Mystr);
    printf("返回值 Val = %d", val);
    
    return 0;
}

输出结果:

The puts() function
返回值 Val = 0

C/C++中的puts()和fputs()函数的区别

正如我们之前学到的那样,puts()函数将一行或字符串写入标准输出流(stdout)。而fputs()函数用于写入任何流或文件。因此,这两个函数之间最大的区别在于fputs()函数允许用户指定想要写入的流。

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

结论

今天的内容就到这里。希望你有一次令人满意的学习体验。

对于与C/C++中puts()函数相关的任何进一步问题,可以随时在下方评论中提问。

参考文献

  • C++ puts() – C++参考文档
  • C++教程
  • C语言编程中的fgets()和gets()函数
  • C语言中printf()和puts()的区别? – Stack Overflow问答
bannerAds