Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.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和cout之间的输出有差异?_C++ - Fatal编程技术网

C++ 为什么printf和cout之间的输出有差异?

C++ 为什么printf和cout之间的输出有差异?,c++,C++,使用printf和cout的代码: int a=0; a=printf("Hello World"); cout<<" "<<a; 输出: Hello World11您必须禁用了std::cout和C API之间的同步? 如果它被启用,我 如果我禁用此同步,我将继续 有关详细信息,请阅读这里没有问题。此外,为什么问题C标记如果它是一个C++问题?他们是两个不同的输出系统:你不应该混合他们。还有puts、cerr和fprintf

使用printf和cout的代码:

int a=0;

a=printf("Hello World");

cout<<" "<<a;
输出:
Hello World11

您必须禁用了
std::cout
和C API之间的同步? 如果它被启用,我

如果我禁用此同步,我将继续


有关详细信息,请阅读

这里没有问题。此外,为什么问题C标记如果它是一个C++问题?他们是两个不同的输出系统:你不应该混合他们。还有puts、cerr和fprintf(stderr。有些是缓冲的,有些不是。请在正常情况下制作一个无法复制的文件。
std::cout
stdout
同步(由printf使用)。虽然它们在技术上是不同的流,但库会尝试保持它们的同步。这当然是繁忙的工作,而且“有些”应用程序关闭此同步(这似乎是在代码中未显示的某个地方完成的),只使用一种技术。如果关闭同步,则它们是完全独立的流,在某个点将数据转储到终端(或应用程序连接到的任何输出设备)。如果要在回答中添加注释,请至少删除后续问题。将问题更改为声明:“您必须已禁用同步”ios_base::sync_with_stdio(false);cin.tie(NULL);用于快速I/O的代码中
int a=0;

a=printf("Hello World");

printf("%d ",a);