【问题标题】:read one line with integers c++用整数c ++读取一行
【发布时间】:2015-01-27 03:30:30
【问题描述】:

我正在制作一个算法,我需要在 c++ 中读取一整行整数
我的输入文件是:
//////
5
6 3 4 2 5
//////
我想阅读第二行并一个接一个地取整数
我不想将整数放入变量中,因为我有内存限制(64 mb 的 ram)
我想直接从文件中获取整数
有什么办法可以在 c++(不是 c)中做到这一点

我试过这个

fstream file;
file.open("file.txt");
int a;
file >> a;

但是有了这个我可以让它只读取“5”,如果我使用像“getline();”这样的东西我无法获得我想要的每个整数
谢谢

【问题讨论】:

  • 如果你不想存储这些数字,你想用它们做什么?
  • 阿波罗 11 号制导计算机有 2K 的 RAM。 (好吧,它也有 32K 的只读内存)。你可以用 64MB 做很多
  • 使用while (file >> a) ...do something with a...; 处理每个连续的数字。

标签: c++ file input int


【解决方案1】:

您没有将每个整数保存在自己的变量中,只需重复使用相同的变量

fstream file("file.txt");
int a;
while (file >> a) {
   // Do your stuff with "a"
}

要跳过第一个数字(根据下面的问题),一种简单的方法是读取并丢弃整数一次:

fstream file("file.txt");
int a;
file >> a; // Do nothing with a → Discard the first value
while (file >> a) {
   // Do your stuff with "a"
}

【讨论】:

  • 以及如何从文件的第二行开始读取(因为我不想读取“5”并且我不能执行 if(a==5) 之类的操作,因为“5”是我给出的一个数字,例如 abnd 我不知道用户将使用什么数字
猜你喜欢
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 2013-10-21
相关资源
最近更新 更多