首页 > 解决方案 > printf 在行尾返回行长

问题描述

每次我打印出 printf 语句时,都会将行的长度添加到末尾。例如:

cout << printf("%s", "foo") << endl;
cout << printf("%s", "foobar") << endl;

在我的控制台中显示:

foo3
foobar6

一个有趣的错误,有人知道它是什么吗?我使用 MinGW g++ 作为我的编译器。

标签: c++printf

解决方案


该声明

cout << printf("%s", "foo") << endl;

相当于

int res = printf("%s", "foo");
cout << res << endl;

printf函数打印字符串,并返回它打印的字符数。然后cout << ...打印该整数值和换行符。


推荐阅读