我有一个简单的 C++ 程序,它读取stdin
usingscanf
并将结果返回到stdout
using printf
:
#include <iostream>
using namespace std;
int main()
{
int n, x;
int f=0, s=0, t=0;
scanf("%d",&n); scanf("%d",&x);
for(int index=0; index<n; index++)
{
scanf("%d",&f);
scanf("%d",&s);
scanf("%d",&t);
if(x < f)
{
printf("first\n");
}
else if(x<s)
{
printf("second\n");
}
else if(x<t)
{
printf("third\n");
}
else
{
printf("empty\n");
}
}
return 0;
}
我正在用 g++ 编译并在 linux 下运行。我使用文本文件作为输入执行程序,并将输出通过管道传输到另一个文本文件,如下所示:
程序 <in.txt> out.txt
问题是 out.txt 看起来像这样:
结果1_
结果2_ 结果
3_
...
其中 '_' 是每行末尾的额外空格。我正在 gedit 中查看 out.txt。
如何在没有额外空间的情况下产生输出?
我的输入文件如下所示:
2 123
123 123 123
123 234 212
编辑:我能够找到解决此问题的方法:printf("\rfoo");
感谢您的输入!