将输入流迭代器与数组一起使用
Using input stream iterator with array
#include <iterator>
#include <iostream>
using namespace std;
const int MAX_NAME_LENGTH=100;
int main()
{
char name[MAX_NAME_LENGTH];
cout<<"Introduce yourselfn";
istream_iterator<char> eos;
istream_iterator<char> isi(cin);
for(int i=0;i<MAX_NAME_LENGTH; i++)
{
if(isi == eos)
{
name[i]=0; //Breakpoint is set here.
break;
}
name[i] = *isi;
isi++;
}
cout<<"Hi "<<name<<endl;
system("pause");
}
当我键入名称并按回车键时,该程序仍然只产生命令提示符。调试后,结果发现"如果"从未达到;似乎无法到达流的末尾(eos(。
- 为什么"如果"里面的条件总是假的?
- 解决我问题的最简单方法是什么?
到达文件末尾时满足条件,但控制台没有自然 EOF,因此您需要明确告诉它结束在哪里。您可以通过在Windows中按ctrl + z或在Unix中按ctrl + d在控制台中输入EOF字符。下面是一个有效的运行示例:
输入
Chris
^Z
输出
Hi Chris
相关文章:
- 为什么我不能将 rand() 与数组的大小一起使用?
- 在将 new 与指针一起使用时,创建数组的指定长度
- 为什么我们将 [ ] 与指向数组的指针一起使用?
- 如何将数组与指针一起使用?
- 如何将 std::find() 与 2d std: 数组一起使用?
- 程序在初始化期间未与数组一起运行
- 将 find_if() 与数组一起使用的代码段中出错
- C 排序无法解析标识符开始和结束吗?(将数组保持在一起)
- 如何将单独的数组分组在一起(类似于按一列对表进行排序)
- 是否可以将isdigit,isalpha函数与输入的字符串数组一起使用
- 如何加入两个指针以将其串在一起并将其存储在数组或字符中
- 如何将初始值设定项与右值引用参数一起使用 // 为什么不能使用另一个 C 样式数组变量初始化 C 样式数组
- 将MPI_Scatter与 char* 数组一起使用
- 在模板参数中使用 auto:一些使用示例和..如何使其与恒定大小的 C 数组一起使用
- 将模板气泡排序与结构数组一起使用时出现问题
- 将'sort'与字符数组一起使用 (C++)
- Strncpy只能与固定长度的数组一起使用
- 有可能实现一个与数组而不是单个对象一起工作的内存池吗
- 将字符数组连接在一起
- 要与MKL一起使用的数组类型