C++ printf integer显示多于C++;库特
我是一个学习C语言的C程序员++ 看起来cout有点笨重,我不明白为什么它会产生不同的输出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
//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]
。