首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Linux和Windows下Ctrl+Z和Ctrl+D的区别,该怎么处理

2012-03-16 
Linux和Windows下Ctrl+Z和Ctrl+D的区别#includeiostreamusing namespace stdint main(){int pwhile(ci

Linux和Windows下Ctrl+Z和Ctrl+D的区别
#include<iostream>
using namespace std;

int main()
{
int p;
while(cin >> p)
cout << p <<"\n" ;
  return 0;
}
//文件名为hh
Linux下
1)ctrl+Z
city@ubuntu:~/Desktop/temp$ ./hh
1 2 ^Z(Ctrl+Z)无回车
[6]+ Stopped ./hh
city@ubuntu:~/Desktop/temp$ 

2)ctrl+D
city@ubuntu:~/Desktop/temp$ ./hh
1 2(Ctrl+D) 1
2(Ctrl+D)无回车
city@ubuntu:~/Desktop/temp$ 

两次的输出结果都不一样,有什么区别呢?
而且在Windows下Ctrl+Z和Ctrl+D的输出
1)ctrl+Z
D:\Documents and Settings\cht\桌面\test\chapter1\bin\Debug>hh
1 2 ^Z(ctrl+Z)回车
1
2
^Z(ctrl+Z)回车

D:\Documents and Settings\cht\桌面\test\chapter1\bin\Debug>
2)ctrl+D
D:\Documents and Settings\cht\桌面\test\chapter1\bin\Debug>hh
1 2 ^D(ctrl+D)回车
1
2

D:\Documents and Settings\cht\桌面\test\chapter1\bin\Debug>

这个问题是不是很无聊啊~~~但是我不清楚是怎么回事?Linux和Windows处理Ctrl+Z和Ctrl+D的方式不同,但两个有什么区别呢?求大牛指教



[解决办法]
在 linux 环境,ctrl + d 通常是结束输入,次数会读到一个EOF
ctrl+z 是挂起程序的执行

而这个行为是可以设置的
你完全可以设置 ctrl+a是结束输入

热点排行