printf、fprintf、sprintf的使用和区别

news2024/11/23 11:47:13

printf、fprintf、sprintf的使用和区别

1、sprintf 函数

sprintf函数用于将格式化的数据写入字符串,其原型为:

#include <stdio.h>

/*
*描述:将格式化的数据写入字符串
*
*参数:
*   [out] str:    输出缓冲区,得到格式化之后的字符串;
*   [in]  format: 格式化字符串,与 printf 函数一样;
*
*返回值:如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
*/
int sprintf(char *str, const char *format, ...);

其中,str是指向一个字符数组的指针,用于存储格式化后的字符串;format是一个格式控制字符串,用于指定输出的格式;…是可变参数列表,用于指定要格式化的数据。

#include <stdio.h>
 
int main()
{
    char buf[1024] = { 0 };
 
    sprintf(buf,"www.codersrc.com\n");
    printf("%s", buf);
 
    sprintf(buf,"www.codersrc.com age:%d name:%s height:%f\n",17, "zhangsan",1.75);
    printf("%s", buf);
}

输出:

 www.codersrc.com
 www.codersrc.com age:17 name:zhangsan height:1.750000

2、fprintf 函数

将一个格式化的字符串写入文件中, 其原型为:

/*
*描述:fputs 函数是向指定的文件写入一个字符串
*
*参数:
*   [in]  stream: 文件指针句柄;
*   [in]  format: 格式化字符串,与 printf 函数一样;
*
*返回值:如果成功,该函数返回一个非负值,如果发生错误则返回 EOF(-1)。
*/

int fprintf (FILE* stream, const char*format, [argument]);

3、printf 函数

其原型为:

#include <stdio.h>
int printf( const char *format, ... );
int a = 256;
int b = -125;
printf("%5d\n%5d",a,b);

输出:

 256
-125

printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中。返回值是输出的字符数量。

3、sprintf、fprintf、printf 函数区别

sprintf  是将一个格式化的字符串输出到一个目的字符串中;
printf 是将一个格式化的字符串输出到屏幕;
fprintf 是将一个格式化的字符串写入文件中;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python聊天机器人-NoneBot2入门(2024新版)

1. NoneBot2 安装与使用 NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架&#xff08;下称 NoneBot&#xff09;&#xff0c;它基于 Python 的类型注解和异步优先特性&#xff08;兼容同步&#xff09;&#xff0c;能够为你的需求实现提供便捷灵活的支持。同时&…

煤炭检测实验室信息管理系统LIMS

在煤矿行业&#xff0c;实验室作为质量控制与技术创新的核心部门&#xff0c;其管理效率与数据准确性直接关系到企业的生产安全与经济效益。随着信息技术的飞速发展&#xff0c;实验室信息管理系统(LIMS)在煤矿行业的应用日益广泛&#xff0c;成为提升实验室管理水平、优化检测…

【动态规划,dp】P1044[NOIP2003 普及组] 栈 题解

题意 给定一个 n ( 1 ≤ n ≤ 18 ) n(1 \leq n \leq 18) n(1≤n≤18)&#xff0c;表示一个操作数序列&#xff0c; 1 , 2 , … , n 1,2,…,n 1,2,…,n&#xff08;图示为 1 到 3 的情况&#xff09;&#xff0c;栈 A 的深度大于 n n n。 现在可以进行两种操作&#xff0c; …

如何选出高品质 SD 存储卡 —— 具备高耐用度且防水防震抗冲击

SD卡&#xff08;Secure Digital Memory Card&#xff09;是一种广泛使用的存储器件&#xff0c;因其快速的数据传输速度、可热插拔的特性以及较大的存储容量&#xff0c;广泛应用于各种场景&#xff0c;例如在便携式设备如智能手机、平板电脑、运动相机等&#xff0c;用于存储…

录屏为什么录制不进去,没有声音?屏幕录制中的声音问题及解决方案

在数字时代&#xff0c;屏幕录制已成为我们日常工作和生活中不可或缺的一部分。无论是制作教学视频、记录在线课程&#xff0c;还是捕捉游戏精彩瞬间&#xff0c;一个好的屏幕录制软件都能让我们的工作更加高效&#xff0c;生活更加丰富。然而&#xff0c;许多用户在使用屏幕录…

谈一谈数据虚拟化的技术核心和应用架构

数据虚拟化&#xff08;Data Virtualization&#xff09;是对数据资源的抽象&#xff0c;通过屏蔽数据资源的存储位置和访问方式&#xff0c;能够将不同数据源、不同格式的数据资源&#xff0c;进行逻辑上的整合集成。这一技术方案与过去面对传统数仓的弊端&#xff0c;业界过去…

为什么说凤凰雪球期权是震荡市场中的稳健选择?

在当前股市波动的背景下&#xff0c;投资者会发现传统的投资策略难以适应市场的快速变化。在这样的环境下&#xff0c;一些创新的金融产品&#xff0c;如凤凰雪球&#xff0c;因其相对较高的安全性和潜在的收益性&#xff0c;逐渐受到市场的关注。 近期&#xff0c;股市呈现出…

大语言模型的简易可扩展增量预训练策略

前言 原论文&#xff1a;Simple and Scalable Strategies to Continually Pre-train Large Language Models翻译文件已整理至Github项目Some-Paper-CN&#xff0c;欢迎大家Star&#xff01; 摘要 大语言模型&#xff08;LLMs&#xff09;通常需要在数十亿个tokens上进行预训…

存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization Smart Migration 特性)

目录 目的实验环境实验步骤参考文档1. 主机安装存储多路径2. v2存储创建Lun&#xff0c;映射给主机&#xff1b;主机分区格式化&#xff0c;写数据3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建&#xff0c;测通&#xff0c;远端设备&#xff09;&#xff08;Smar…

【深度学习】DDPM公式详解(第一期)

原论文&#xff1a;Denoising Diffusion Probabilistic Models (1)-1 p θ ( x 0 : T ) : p ( x T ) ∏ t 1 T p θ ( x t − 1 ∣ x t ) p_{\theta}(x_0:T) : p(x_T) \prod_{t1}^{T} p_{\theta}(x_{t-1} \mid x_t) pθ​(x0​:T):p(xT​)t1∏T​pθ​(xt−1​∣xt​) 这个…

AI预测福彩3D采取888=3策略+和值012路或胆码测试8月16日新模型预测第58弹

经过近60期的测试&#xff0c;当然有很多彩友也一直在观察我每天发的预测结果&#xff0c;得到了一个非常有价值的信息&#xff0c;那就是9码定位的命中率非常高&#xff0c;57期一共只错了5次&#xff0c;这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了&#xff0c;大…

IoTSharp:基于 .NET 6.0 的开源物联网平台

目录 前言 项目介绍 为什么会有 IoTSharp&#xff1f; IoTSharp 能做什么&#xff1f; IoTSharp 的亮点 项目技术 1、编程语言 2、系统框架 3、数据库支持 4、消息队列与 EventBus 5、EventBus 存储 项目使用 1、下载 2、启动 3、注册服务 4、初始化influxdb 5…

实现清除默认样式的操作

1、在npm官网中搜索reset.scss->点击第一个。&#xff08;有时候会更新一些代码&#xff0c;第一个出现的不一定就是我图片中的这个&#xff0c;不一定要跟我图片中的代码一致&#xff0c;只需要选择第一个出现的即可&#xff09; 2、点击Code选项。 3、打开Code选项下面的t…

在私有化过程中不要忽视LLMs的双重逻辑能力:医学领域的数据密集型分析

链接&#xff1a;https://arxiv.org/abs/2309.04198 原标题&#xff1a;Don’t Ignore Dual Logic Ability of LLMs while Privatizing: A Data-Intensive Analysis in Medical Domain 日期&#xff1a;Submitted on 8 Sep 2023 摘要 大量的研究致力于通过喂养特定领域的数据…

智能楼宇控制系统的革新——M31系列分布式IO模块

随着物联网技术的飞速发展&#xff0c;智能楼宇控制系统正逐渐成为现代建筑的标配。它不仅能够提高建筑的能源效率&#xff0c;还能提升用户的生活品质和舒适度。在这样的背景下&#xff0c;分布式IO模块作为智能楼宇控制系统的核心组成部分&#xff0c;发挥着至关重要的作用。…

深度学习9--目标检测

1.概念介绍 目标检测不仅可以检测数字&#xff0c;而且可以检测动物的种类、汽车的种类等。例如&#xff0c;自动驾驶车辆需要自动识别前方物体是车辆还是行人&#xff0c;需要自动识别道路两 旁的指示牌和前方的红绿灯颜色。对于自动检测的算法&#xff0c;有两个要求&#xf…

聊聊场景及场景测试

在我们进行测试过程中&#xff0c;有一种黑盒测试叫场景测试&#xff0c;我们完全是从用户的角度去理解系统&#xff0c;从而可以挖掘用户的隐含需求。 场景是指用户会使用这个系统来完成预定目标的所有情况的集合。 场景本身也代表了用户的需求&#xff0c;所以我们可以认为…

项目管理工具的秘密:如何选出最佳系统

国内外主流的 10 款project项目管理系统对比&#xff1a;PingCode、Worktile、用友、泛微、蓝凌、Zoho Projects、Asana、Trello、Basecamp、Jira。 在寻找合适的项目管理系统时&#xff0c;你是否感到选择众多、功能复杂让人难以抉择&#xff1f;这正是许多项目经理面临的痛点…

计算机毕业设计选题推荐-个性化智能学习系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

MySQL架构与数据库基础

文章目录 一、数据库概念二、数据库的简单概念三、SQL四、MySQL架构 一、数据库概念 数据库是一个以某种由组织的方式存储的数据集合。我们可以把数据库想象称为一个文件柜。此文件柜是一个存放数据的物理位置&#xff0c;不管数据是什么以及如何组织的。数据库本质也需要像文…