掘根宝典之C语言字符串输出函数(puts(),fputs())

2024-03-02 04:44

本文主要是介绍掘根宝典之C语言字符串输出函数(puts(),fputs()),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

puts()函数

puts函数是C语言中的一个标准库函数,用于向标准输出流(即控制台)输出字符串。

它的函数原型如下:

int puts(const char *str);

函数参数:

  • str:要输出的字符串。

函数返回值:

  • 如果成功输出字符串,则返回非负值;
  • 如果输出失败,则返回EOF(-1)。

puts函数会在所输出的字符串末尾自动追加一个换行符('\n'),这与printf函数不同。因此,使用puts函数输出字符串时无需手动添加换行符。

示例用法:

#include <stdio.h>int main() {char str[] = "Hello, world!";puts(str);puts(str);return 0;
}

结果

Hello, world!
Hello, world!

以上代码会在控制台输出"Hello, world!",并在末尾自动添加换行符。

此外注意,gets()丢弃输入中的换行符,但是puts()在输出中添加换行符

fputs()函数

fputs函数是C语言中的一个标准库函数,用于向指定的文件流输出字符串。

它的函数原型如下:

int fputs(const char *str, FILE *stream);

函数参数:

  • str:要输出的字符串。
  • stream:指向要输出到的文件流的指针。如果我们要打印在显示器上,可以用定义在stdio.h中的stdout(标准输出)作为该参数

函数返回值:

  • 如果成功输出字符串,则返回非负值;
  • 如果输出失败,则返回EOF(-1)。

与puts函数不同的是,fputs函数不会自动追加换行符,输出的字符串就是原样输出。

示例用法:

#include <stdio.h>
int main(void)
{char str[] = "Hello, world!";fputs(str,stdout);fputs(str,stdout);return 0;
}

结果

Hello, world!Hello, world!

printf()输出字符串

printf()函数是C语言中的一个输出函数,用于在终端或控制台上打印输出内容。它可以输出各种类型的数据,包括字符串。下面是一个例子:

#include <stdio.h>int main() {char str[] = "Hello, world!";  // 定义一个字符串变量printf("%s\n", str);  // 使用%s格式控制符输出字符串return 0;
}

运行这段代码会输出字符串"Hello, world!"。

其中,%s是格式控制符,用于输出字符串类型的数据。在printf()函数中,用%s代表需要输出的字符串,\n表示换行符。

这篇关于掘根宝典之C语言字符串输出函数(puts(),fputs())的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/764945

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

C#中字符串分割的多种方式

《C#中字符串分割的多种方式》在C#编程语言中,字符串处理是日常开发中不可或缺的一部分,字符串分割是处理文本数据时常用的操作,它允许我们将一个长字符串分解成多个子字符串,本文给大家介绍了C#中字符串分... 目录1. 使用 string.Split2. 使用正则表达式 (Regex.Split)3. 使用

Java中JSON字符串反序列化(动态泛型)

《Java中JSON字符串反序列化(动态泛型)》文章讨论了在定时任务中使用反射调用目标对象时处理动态参数的问题,通过将方法参数存储为JSON字符串并进行反序列化,可以实现动态调用,然而,这种方式容易导... 需求:定时任务扫描,反射调用目标对象,但是,方法的传参不是固定的。方案一:将方法参数存成jsON字

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

《纳瓦尔宝典》是纳瓦尔·拉维坎特(Naval Ravikant)的智慧箴言

《纳瓦尔宝典》是一本由埃里克·乔根森(Erik Jorgensen)编著的书籍,该书于2022年5月10日由中信出版社出版。这本书的核心内容围绕硅谷知名天使投资人纳瓦尔·拉维坎特(Naval Ravikant)的智慧箴言,特别是关于财富积累和幸福人生的原则与方法。 晓北斗推荐 《纳瓦尔宝典》 基本信息 书名:《纳瓦尔宝典》作者:[美] 埃里克·乔根森译者:赵灿出版时间:2022

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”