C++中Ctrl+Z是怎么结束输入的?

2024-11-07 07:51:09
推荐回答(5个)
回答(1):

ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。

Ctrl+Z:一般用于输入字符串时,比如下面这个程序。

#include   

#include

#include

using namespace std;

int main(){

    vector a;

    string tmp;

    while (cin>>tmp){

        a.push_back(tmp);

    }

    for (vector::iterator iter = a.begin(); iter != a.end(); ++iter){

       cout << *iter << endl;

    }

    return 0;

}

扩展资料

C语言中whlie跳出循环的结束方式:

1、break关键字

讲到了break,用它来跳出 switch 语句。当 break 关键字用于 while、for 循环时,会终止循环而执行整个循环语句后面的代码。break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环。

while 循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i++;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。在多层循环中,一个 break 语句只向外跳一层。

2、continue语句

continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

程序遇到while时,变量c的值为'\0',循环条件c!='\n'成立,开始第一次循环。getchar() 使程序暂停执行,等待用户输入,直到用户按下回车键才开始读取字符。

回答(2):

在微软的DOS和Windows中,“Ctrl+Z”输入的是EOF符号,就是 C++中标准输入的结束符号。

例如标准输入函数scanf函数返回成功读入的数据项数,读取数据时遇到了“文件结束”则返回EOF。如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。

C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。

扩展资料:

EOF的应用:

档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。

C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

在 UNIX中, EOF表示能从交互式 shell (终端) 送出 Ctrl+D (习惯性标准)。在微软的 DOS 与 Windows 中能送出 Ctrl+Z。在某些例子处理纯文字档案或从"字元设备"读入资料。

参考资料来源:百度百科-scanf

参考资料来源:百度百科-EOF

回答(3):

同意2楼的说法,在利用while(cin >> ival1)连续输入数据时,在接受到Ctrl+Z时结束,即是遇到文件结束符EOF,在VS下是Ctrl+D,此时输入流cin处于错误状态,无法正确读取数据。必须恢复输入流cin的有效状态,即是加上cin.clear()(二楼所说位置添加即可),这样一来,输入流就可以正确读取数据了。

回答(4):

#include
#include
using namespace std;

int main()
{
vector ivec;
int ival1,ival2;
while(cin>>ival1,!cin.eof())
ivec.push_back(ival1);
for(vector::size_type index=0;index!=ivec.size();++index)
cout< cout< cin.clear();
cin>>ival2;
cout<<"ival2="< system("pause");
return 0;
}
程序如上。你加个
cin.clear();
就可以了。就是你Ctrl+Z结束输入后,可以输入下个值了。
这个函数主要是回复有效状态。
Ctrl+Z是文件结束符。

回答(5):

那是你那个循环结束的标志