C++编译完成,终端CIN和COUT的问题

软件和网站开发以及相关技术探讨
回复
xscstudy
帖子: 6
注册时间: 2009-01-17 13:13

C++编译完成,终端CIN和COUT的问题

#1

帖子 xscstudy » 2009-03-08 16:58

本人刚刚接触Ubuntu,设置完了 VIM,编译~

这是代码:
int a ;
cout<<"please type a number ";
cin>>a;
cout<<a;

我用G++编译成功了 生成 TEST 可执行文件
在终端执行 ./TEST
提示输入 数字 ,输入后按回车 但是不会输出 a 的值 ,请问这是为什么啊》》??如果是输出到TXT文件里的话,又可以输出。
如果用Anjuta 编译执行的话 也可以成功,请问问题出在哪里啊??

谢谢各位~~~ :em01
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: C++编译完成,终端CIN和COUT的问题

#2

帖子 BigSnake.NET » 2009-03-08 17:11

cout.flush()
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
xscstudy
帖子: 6
注册时间: 2009-01-17 13:13

Re: C++编译完成,终端CIN和COUT的问题

#3

帖子 xscstudy » 2009-03-08 19:19

谢谢,弱弱问一下
endl不是也是换行然后flush的吗
xscstudy
帖子: 6
注册时间: 2009-01-17 13:13

Re: C++编译完成,终端CIN和COUT的问题

#4

帖子 xscstudy » 2009-03-08 19:55

int a;
a=10;
cout<<a;
cout.flsuh(); //不会显示 10

cout<<a<<flush;//不会显示 10

cout<<a<<endl;//会显示 10
但是必须换行,能否不换行阿??flush 为什么没用的??
头像
wenstream
帖子: 186
注册时间: 2008-06-18 22:02

Re: C++编译完成,终端CIN和COUT的问题

#5

帖子 wenstream » 2009-03-09 15:57

xscstudy 写了:int a;
a=10;
cout<<a;
cout.flsuh(); //不会显示 10

cout<<a<<flush;//不会显示 10

cout<<a<<endl;//会显示 10
但是必须换行,能否不换行阿??flush 为什么没用的??

代码: 全选

cout<<a;
cout.flush();     //flush not flsuh

/*等同于*/
cout<<a<<flush;

/*等同于*/
cout<<unitbuf<<a<<nounitbuf;
都会立即刷新缓冲区,显示10
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: C++编译完成,终端CIN和COUT的问题

#6

帖子 poet » 2009-03-09 18:03

xscstudy 写了:谢谢,弱弱问一下
endl不是也是换行然后flush的吗
是的,但是你的首贴程序并没有输出 endl

如果真的有问题,建议你贴完整的程序上来,你给的例子我执行都很正常。
xscstudy
帖子: 6
注册时间: 2009-01-17 13:13

Re: C++编译完成,终端CIN和COUT的问题

#7

帖子 xscstudy » 2009-03-09 18:12

汗~~找到原因了,因为文件在桌面上,所以是有“桌面”两个字的中文目录,文件转到英文目录下一切正常,看来是终端和中文的问题了,
用GEANY的编译器执行,中文目录下也可通过~~
cout<<"ok";
直接通过了~~
:em06 ,可是还是不清楚为什么在终端下中文目录就不能成功执行,如果是加上ENDL就可以通过
不过现在在英文目录下可以了,还是挺开心的

谢谢各位大侠的帮忙了,刚接触UBUNTU的,这个论坛太好了~~~~
:em11 :em11 努力向各位学习~~~~
回复