Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ printf integer显示多于C++;库特_C++_Printf_Cout - Fatal编程技术网

C++ printf integer显示多于C++;库特

C++ printf integer显示多于C++;库特,c++,printf,cout,C++,Printf,Cout,我是一个学习C语言的C程序员++ 看起来cout有点笨重,我不明白为什么它会产生不同的输出 //The printf below displays value 50 //The cout below display value 2 data_to_send.data[2] = atoi(data_str.c_str()); printf("\n DEBUG: %d\n",data_to_send.data[2]); std::cout << "Debug: " <&l

我是一个学习C语言的C程序员++

看起来cout有点笨重,我不明白为什么它会产生不同的输出

//The printf below displays value 50
//The cout below display value 2

data_to_send.data[2] = atoi(data_str.c_str());    
printf("\n DEBUG: %d\n",data_to_send.data[2]);
std::cout << "Debug: " << std::dec << data_to_send.data[2];
//下面的printf显示值50
//下面的cout显示值2
data_to_send.data[2]=atoi(data_str.c_str());
printf(“\n调试:%d\n”,数据发送到发送。数据[2]);

std::cout我猜
要发送的数据。data
字符*
,所以
要发送的数据[2]
是值为
50的字符。调用
printf
时,指定将参数视为整数(
%d
),以便它打印
50
。在C++中代码> cOut使用函数重载将具体函数调用到具体的类型参数,在这种情况下,代码>操作符> P> >代码> DATAXtoTySuff.DATA(2)< /代码>字段为<代码> char < /> >或<代码>无符号字符类型< /C> >(字节). < /P>
printf
将其视为格式说明符
%d
请求的整数
50


cout
将其视为ASCII码
50
的字符
'2'
,由数据类型隐式请求。

什么是
要发送的数据。数据[2]
?信息不足。无法在上复制。信息不足。在不知道要发送的数据的类型或值的情况下,没有人能猜出代码的输出应该是什么。至少,提供类型和值的定义和说明。将
%d
更改为
%c
数据发送。数据[2]
更改为
(int)数据发送。数据[2]