在下面的代码中,cin
仅提取非空白字符,因此我可以轻松计算出用户输入的输入字符数,大写字母等,轻松忽略空白
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main( int argc, char** argv )
{
int numberOfNonBlanks = 0;
int numberOfUpperCase = 0;
char c;
while ( cin >> c )
{
++numberOfNonBlanks;
if ( ( c >= 'A' ) && ( c <= 'Z' ) )
{
++numberOfUpperCase;
}
}
cout << "Non blank characters: " << numberOfNonBlanks << endl
<< "Upper case characters: " << numberOfUpperCase << endl;
system( "PAUSE" );
}
我的问题是,no input
是什么构成的?我的意思是使用while ( cin >> c )
我收到用户输入字符并计算任何数量,但直到什么时候?什么时候会停止?什么才有资格作为no input
的while循环退出?
谢谢,
答案 0 :(得分:3)
直到你获得EOF角色。
如果您输入的是来自键盘的输入:
如果操作系统将文件重定向到标准输入,那么它将在文件末尾正常发生。