printf()和cout的区别

2023-11-02

printf()和cout的区别
printf is a function that takes a variable number of arguments, the first argument being a format string explaining how to treat further arguments. cout is an object of the std::ostream class. The two are completely different in form, yet the result is the same, data sent to stdout.

This question is difficult to answer completely as often phrased since cout and printf are wildly different, but most often one of three questions are meant:


Q: "Which is faster?" A: printf, but the difference is too slight to worry about.

Q: "Which is better?" A: Neither, it depends heavily on personal preference and what needs to be done.

Q: "Which should I use?" A: You should use whichever you feel most comfortable with.

It is preferred that you use iostreams with C++ instead of the C functions because iostreams are type safe and extensible for user defined types, both of which are very good reasons.

printf是个函数,输出既是一个函数调用;
cout是个变量,一个对象,和" < <"操作符结合使用;输出既是一个表达式;

当你用 cout 输出的时候,系统并不是将其送入屏幕,而是转存到缓冲区,待缓冲区满时一次性显示
解决的办法是,调用一次 cout < < flush;
C语言中为 fflush(stdout);
还有就是 cout < < "/n"; 和 cout < < endl; 的区别
前者仅仅只将回车符送入输出缓存,而后者多一个操作,即立即显示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

printf()和cout的区别 的相关文章

  • 如何在特定时间以毫秒精度触发 C# 函数?

    我有两台计算机 它们的时间通过 NTP 同步 确保时间仅相差几毫秒 其中一台计算机将通过 TCP 向另一台计算机发送一条消息 以在两台计算机上的未来指定时间启动某个 c 函数 我的问题是 如何在特定时间以毫秒精度 或更好 触发 C 中的函数
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • 调用 UDF 时公式中使用的值的数据类型错误

    我一直在努力找出这里出了什么问题 我有两个包含字符串值的列 我使用第三列调用工作表中的 UDF 但最终得到 Value 并出现错误 公式中使用的值的数据类型错误 Eg Col I Col J File1 Y File1 N File2 Y
  • 如何在C中同时运行两个子进程?

    所以我开始学习并发编程 但由于某种原因我什至无法掌握基础知识 我有一个名为 fork c 的文件 其中包含一个 main 方法 在此方法中 我将 main 分叉两次 分别进入子进程 1 和 2 在孩子 1 中 我打印了字符 A 50 次 在
  • 组合框下拉位置

    我有一个最大化的表单 其中包含 500px 的组合框控件 停靠在右上角 Width 尝试打开组合框后 列表的一半超出了屏幕 如何强制列表显示在表单中 棘手的问题 我找不到解决这个问题的好办法 只是一个解决方法 添加一个新类并粘贴如下所示的代
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 控制台应用程序中使用 Unicode 字符的 _tprintf

    我正在从 Unicode 构建的控制台应用程序 使用 C 和 Visual Studio 2008 执行这个简单的输出 此代码旨在在 Windows 上运行 tprintf L Some sample string n 一切正常 但是如果我
  • C# 枚举到字符串自动转换?

    是否可以让编译器自动将我的 Enum 值转换为字符串 这样我就可以避免每次都显式调用 ToString 方法 这是我想做的一个例子 enum Rank A B C Rank myRank Rank A string myString Ran
  • 应用程序处于中断模式。您的应用程序已进入中断状态,

    我发现自己遇到了同样的问题here https stackoverflow com questions 36204009 disable break mode page in vs2015 我在 dll 中使用 Windows 窗体 这是针
  • 调用异步方法在视图模型的构造函数中加载数据有警告

    我的视图包含一个 ListView 它显示来自互联网的一些数据 我创建一个异步方法来加载数据并在我的视图模型的构造函数中调用该方法 它有一个警告提示我现在使用await关键字 还有其他解决方案可以在构造函数中异步加载数据吗 有几种可以应用的
  • 我可以将 UseCSharpNullComparisonBehavior 用于单个查询吗?

    我有一个查询 该查询曾经是存储过程 现已转换为 EF 查询 现在已经超时了 使用 SQL Profiler 我可以看到生成的 SQL 的唯一区别是 EF 转变的新行为entity Property value into entity Pro
  • 当需要不同数量和类型的参数时如何创建操作委托列表

    我们有一组大约两打的类 它们继承自具有抽象 Validate 方法的基类 当然 每个类都有不同的验证需求 但它们之间的不同组合需要规则 因此 正如您可以想象的那样 这导致了大量代码重复 例如 A 类需要规则 1 3 6 和 9B 类需要规则
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • Gremlin.net 文本包含等效项

    我正在使用 Gremlin net 库连接到 janus 图形服务器 我使用 cassandra 和弹性搜索进行数据存储和索引 在我使用的 gremlin 语言和 gremlin 控制台中文本包含在属性的文本中进行搜索 我正在使用混合索引
  • Type.GetInterfaces() 仅适用于声明的接口

    首先 像这样的问题有很多 也许有些OP甚至在问同样的问题 问题是这些问题的答案 无论是否接受 都没有真正回答这个问题 至少我找不到 如何确定类直接声明的接口 而不是由父级或声明的接口继承的接口 e g interface I interfa
  • 使用多态对象数组进行 JSON 反序列化

    我在涉及多态对象数组的 JSON 反序列化方面遇到问题 我已经尝试过记录的序列化解决方案here https stackoverflow com questions 5186973 json serialization of array w
  • 卸载程序

    我正在尝试使用此代码卸载程序 但它似乎不起作用 我尝试过其他答案 但似乎也不起作用 有人可以帮助我吗 我正在尝试按给定名称 displayName 卸载该程序 例如 我给出 displayName Appname 那么此代码应该从我的计算机
  • 从对列表创建邻接列表类型结构

    在 C 中 我有 class Pair int val1 int val2 我有一个来自以下来源的配对列表 List
  • 为什么在构造函数中设置字段是(或不是)线程安全的?

    假设您有一个像这样的简单类 class MyClass private readonly int a private int b public MyClass int a int b this a a this b b public int
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma

随机推荐

  • 论文写作专题记录

    本文笔记来自20200317智源AI的分享 一 论文写作小白的成长之路 用理论支撑你 唉 你的这个研究确实是很有用 每个理论的后面可能都要有一个解释 即使别人不懂你这个理论 但是他也能理解这个事情 那么我们总结一下以往的工作是怎样的 所以我
  • react native js中调用native中的方法

    react native js中调用native中的方法 这里主要涉及到几个类 java ul li Base class for Catalyst native modules that require access to the lin
  • 【笔记】A simple yet effective baseline for 3d human pose estimation

    论文 https arxiv org abs 1705 03098v2 pytorch 本文代码参考 weigq 3d pose baseline pytorch A simple baseline for 3d human pose es
  • 外部中断EXTI

    项目场景 STM32外部中断 EXTI10 15 中断线挂起无法清除问题 问题描述 按键为PD14 输入模式 外部中断 进中断服务函数处理完后仍再次进入中断服务函数 无法退出 中断服务函数已加入清除中断线函数 检查引脚配置 输入模式 RCC
  • Javav中危险字符过滤工具类

    在进行网站开发时 为了避免网站遭到SQL语句的注入式攻击 应该考虑到过滤字符串中的危险字符 在该实例中 可以过滤 lt gt 等字符时 在处理页面中会把这些字符过滤掉 该示例主要利用String的replaceAll方法 public St
  • [spark]计算商品相似度

    一 商品相似度定义 基于物品的协同过滤算法是业界应用最多的算法 它的思想是给用户推荐那些和他们喜欢的物品相似的物品 主要分为两个步骤 一 计算物品之间的相似度 二 根据物品相似度和用户的历史行为给用户生成推荐列表 物品i和物品j的相似度可定
  • 创建工程文件(完整流程)

    创建并完成一个简单的工程的流程 添加文件 创建文件 此时 文件就添加完毕了 设置字体 设置Table的空格字数为4个 书写代码 拷贝的正点原子的例程 点击综合 生成设计后的原理图 第一种方法 进行I O引脚的分配 需要查看电路板的原理图分配
  • 【SSD-Caffe】安装使用教程

    1 下载镜像 参考我的另一篇博客 docker使用教程 我下载的是 docker pull bvlc caffe gpu 这个镜像 2 安装ssd caffe 下载之后这并不是ssd caffe 的环境 是较为原始版本的环境 所以还需要安装
  • 抓取iframe内数据(C#)

    当时企图抓取这iframe数据还费了不少劲 早就想记录下来 但是由于自身懒得让人惊叹 结果一直拖到现在 需求是要获取到一些网站上的大批数据 这些数据都是分很多页的 最初思路就是用web程序一页一页抓取 保存到Excel中 通常情况下用以下代
  • 5大指标:评估RPA项目的ROI,实现投资回报最大化

    ROI 投资回报率 通常是RPA项目中的一个关键指标 在企业步入自动化的早期阶段 关注RPA的投资回报率非常重要 这将影响到一个RPA项目是否值得去做 对企业运营者 尤其是COO 首席运营官 而言 RPA若实施得当 将为企业降本增效带来无与
  • 机器学习苹果识别——python+opencv实现物体特征提取

    以水果为例 要用机器学习来实现水果识别 无论是训练还是识别阶段都需要提取图片中水果的特征值 本篇将讲述如何提取水果的周长 面积 颜色 长度 宽度7个特征值 cv findContours cv findContours将图片中识别到的轮廓返
  • 如何用matlab去修改图像尺寸

    img imread test1 jpg 这里为原始图像 i imresize img 567 390 imwrite i 1 jpg 这里为修改后图像 imread imresize和imwrite 1 imread 读取图像信息 A i
  • 查看VSCode版本

    背景 想要查看一下visual studio code的版本 方法 在vscode菜单栏 帮助 gt 发行说明 Help gt Release Notes 版本为1 36
  • C++auto_ptr的用法

    文章目录 一 auto ptr是什么 二 auto ptr需要包含的头文件 三 auto ptr用法 一 auto ptr是什么 auto ptr 是C 标准库提供的类模板 auto ptr对象通过初始化指向由new创建的动态内存 它是这块
  • TCP 协议(四)重传与超时

    1 TCP 协议中的计时器 TCP 中有四种计时器 Timer 分别为 重传计时器 Retransmission Timer 持久计时器 Persistent Timer 保活计时器 Keeplive Timer 等待计时器 Timer W
  • gdb+gdbserver远程调试技术

    首先声明 此文是在别人的基础上添加一些自己的体会 之前做嵌入式开发的时候 弄过一段时间gdb gdbserver远程调试 最后无果而终 只好将就用printf 首先感谢这篇刘品的文章 看着整洁清楚 http www cnblogs com
  • 目标检测之YOLOv3算法分析

    基本原理 特征网络 输入输出 输入 416 416 3 416 416 3 416 416 3大小的图片 不唯一 但图片大小必为32的倍数 输出3个尺度的feature map 分别为
  • 虹科分享

    说到应用程序和软件 关键词是 更多 在数字经济需求的推动下 从简化业务运营到创造创新的新收入机会 企业越来越依赖应用程序 云本地应用程序开发更是火上浇油 然而 情况是双向的 这些应用程序通常更复杂 使用的开放源代码比以往任何时候都包含更多的
  • 在Linux中使用线程

    我并不假定你会使用Linux的线程 所以在这里就简单的介绍一下 如果你之前有过多线程方面的编程经验 完全可以忽略本文的内容 因为它非常的初级 首先说明一下 在Linux编写多线程程序需要包含头文件pthread h 也就是说你在任何采用多线
  • printf()和cout的区别

    printf 和cout的区别 printf is a function that takes a variable number of arguments the first argument being a format string