草庐IT

xil_printf

全部标签

c++ - 如何使用具有类似 printf 格式的 C++ std::ostream?

我正在学习C++。cout是std::ostream类的一个实例。如何用它打印格式化的字符串?我仍然可以使用printf,但我想学习一种可以利用所有C++优点的正确C++方法。我认为std::ostream应该可以做到这一点,但我找不到正确的方法。 最佳答案 你唯一能用std::ostream做的事直接就是众所周知的-语法:inti=0;std::cout还有各种IOmanipulators可用于影响整数、float等的格式、位数等。但是,这与printf的格式化字符串不同。.C++11不包含任何允许您以与printf相同的方式使用

java - 使用 printf 和 format 进行格式化

在下面的程序中classZiggyTest2{publicstaticvoidmain(String[]args){doublex=123.456;charc=65;inti=65;System.out.printf("%s",x);System.out.printf("%b",x);System.out.printf("%c",c);System.out.printf("%5.0f",x);System.out.printf("%d",i);}}输出是123.456trueA12365谁能解释一下double值(即123.456)如何转换为boolean值(即true)我问的原因是因

c++ - 使用printf打印 float 时有额外的前导零?

我希望能够使用printf编写一个如下所示的时间字符串:1:04:02.1hours。当我尝试写这样的东西时:printf("%d:%02d:%02.1fhours\n",1,4,2.123456);我明白了:1:04:2.1hours是否可以在浮点格式中添加前导零? 最佳答案 使用%f格式说明符,“2”被视为最小字符数,而不是小数点前的位数。因此,您必须将其替换为4才能获得两位前导数字+小数点+一位小数。printf("%d:%02d:%04.1fhours\n",1,4,2.123456);

c - 'printf' 在 C 中带有前导零

我有一个float,例如4917.24。我想把它打印成小数点前总是有五个字符,前导零,然后是小数点后三个数字。我在我正在使用的嵌入式系统上尝试了printf("%05.3f",n),但它打印了*****。我的格式说明符是否正确? 最佳答案 您的格式说明符不正确。从我机器上的printf()手册页:0Azero'0'characterindicatingthatzero-paddingshouldbeusedratherthanblank-padding.A'-'overridesa'0'ifbothareused;FieldWidt

c++ - cout 或 printf 两者中哪一个具有更快的 C++ 执行速度?

我已经用C++编码很长时间了。我一直想知道printf和cout哪个执行速度更快?情况:我正在用C++设计一个应用程序,并且我有某些限制,例如执行时间限制。我的应用程序在控制台上加载了打印命令。那么printf或cout哪个更可取? 最佳答案 每个都有自己的开销。根据您打印的内容,任何一个都可能更快。我想到了两点-printf()必须解析“格式”字符串并对其进行操作,这增加了成本。cout具有更复杂的继承层次结构并传递对象。在实践中,除了最奇怪的情况外,差异并不重要。如果您认为这很重要-衡量!编辑-哦,见鬼,我不相信我正在这样做,但

c++ - cout 或 printf 两者中哪一个具有更快的 C++ 执行速度?

我已经用C++编码很长时间了。我一直想知道printf和cout哪个执行速度更快?情况:我正在用C++设计一个应用程序,并且我有某些限制,例如执行时间限制。我的应用程序在控制台上加载了打印命令。那么printf或cout哪个更可取? 最佳答案 每个都有自己的开销。根据您打印的内容,任何一个都可能更快。我想到了两点-printf()必须解析“格式”字符串并对其进行操作,这增加了成本。cout具有更复杂的继承层次结构并传递对象。在实践中,除了最奇怪的情况外,差异并不重要。如果您认为这很重要-衡量!编辑-哦,见鬼,我不相信我正在这样做,但

c++ - CUDA __global__ 函数中的 printf

我目前正在GPU上编写矩阵乘法并想调试我的代码,但由于我不能在设备函数中使用printf,所以我可以做些什么来查看该函数内部发生了什么。这是我当前的功能:__global__voidMatrixMulKernel(MatrixAd,MatrixBd,MatrixXd){inttx=threadIdx.x;intty=threadIdx.y;intbx=blockIdx.x;intby=blockIdx.y;floatsum=0;for(intk=0;k我很想知道Ad和Bd是不是我想的那样,看看是否真的调用了那个函数。 最佳答案 CU

c++ - CUDA __global__ 函数中的 printf

我目前正在GPU上编写矩阵乘法并想调试我的代码,但由于我不能在设备函数中使用printf,所以我可以做些什么来查看该函数内部发生了什么。这是我当前的功能:__global__voidMatrixMulKernel(MatrixAd,MatrixBd,MatrixXd){inttx=threadIdx.x;intty=threadIdx.y;intbx=blockIdx.x;intby=blockIdx.y;floatsum=0;for(intk=0;k我很想知道Ad和Bd是不是我想的那样,看看是否真的调用了那个函数。 最佳答案 CU

Linux 上的 C++ 无法识别 exit() 和 printf() 等命令

在.cpp文件上发出g++命令后出现以下错误:错误:未在此范围内声明“退出”错误:“printf”未在此范围内声明问题是当我在另一台linux机器上编译这个程序时,一切都很顺利。我试着四处搜索,但我发现我需要包含像“stdlib.h”这样的文件。可能是我的操作系统上缺少一些库吗?如果有,可能是什么? 最佳答案 最新版本的GCC对程序员需要履行的职责变得更加严格。包含cstdlib、cstdio等header并从std命名空间访问这些函数。 关于Linux上的C++无法识别exit()和p

Linux 上的 C++ 无法识别 exit() 和 printf() 等命令

在.cpp文件上发出g++命令后出现以下错误:错误:未在此范围内声明“退出”错误:“printf”未在此范围内声明问题是当我在另一台linux机器上编译这个程序时,一切都很顺利。我试着四处搜索,但我发现我需要包含像“stdlib.h”这样的文件。可能是我的操作系统上缺少一些库吗?如果有,可能是什么? 最佳答案 最新版本的GCC对程序员需要履行的职责变得更加严格。包含cstdlib、cstdio等header并从std命名空间访问这些函数。 关于Linux上的C++无法识别exit()和p