infile c ++无法正常读取

时间:2017-07-25 01:07:32

标签: c++

我正在尝试读取txt文件的内容并将其保存到数组中,但是这没有正确读取/正确保存到我的数组中:

这是data.txt:

a
b 
c

这是main.cpp:

#include <iostream>
#include <fstream>

using namespace std;

void readin(string file);

int main(){
     readin("data.txt");
}

void readin(string file){
   int myarr[10];
   ifstream infile;
   infile.open(file);
  if(infile.fail()){
      cerr << "Input file failed to open.";
      abort();
  }else{
    infile >> myarr[0] >> myarr[1] >> myarr[2];
    cout << "myarr[0]" << "\t" << myarr[0] << endl;
    cout << "myarr[1]" << "\t" << myarr[1] <<endl;
  }
   infile.close();
}

以下是我的结果输出结果:

myarr[0]    0
myarr[1]    32767

1 个答案:

答案 0 :(得分:0)

查看myarr的数据类型和data.txt的内容。你会如何将这些行转换为整数?也许在执行读取后检查infile的失败状态。请记住,如果您只声明一个数组而不初始化其值,则该数组可以包含任何随机数。

相关问题