cin 可以用来从键盘输入数据;将标准输入重定向为文件后,cin 也可以用来从文件中读入数据。在输入数据的多少不确定,且没有结束标志的情况下,该如何判断输入数据已经读完了呢? 1、从文件中读取数据 达文件末尾就读取结束。 #include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int main(){
freopen("1204.in","r",stdin);
string a[100];
int k=0;
bool flag;
int i;
while(cin>>a[k])
{
flag=false;
for(i=0;i<k;i++)
{
if(a.compare(a[k])==0)
{
flag=true;
break;
}
}
if(!flag)
k++;
}
sort(a,a+k);
for(i=0;i<k;i++)
cout<<a<<endl;
fclose(stdin);
return 0;
}
1204.in中内容为 She wants to go to Peking University to study Chinese2、通过键盘(控制台中输入) 其实,在控制台中输入特殊的控制字符就表示输入结束了: - 在 Windows 系统中,通过键盘输入时,按 Ctrl+Z 组合键后再按回车键,就代表输入结束。
- 在 UNIX/Linux/Mac OS 系统中,Ctrl+D 代表输入结束。
不管是文件末尾,还是 Ctrl+Z 或者 Ctrl+D,它们都是结束标志;cin 在正常读取时返回 true,遇到结束标志时返回 false,我们可以根据 cin 的返回值来判断是否读取结束。
|