getline函数中的文件处理

时间:2015-05-17 10:03:53

标签: c++ getline file-handling

我有一个看起来像这样的文本文件:

 A          4     6
 B          5     7
 c          4     8

我想将它存储在三个不同的数组中:

char pro[];     // contains values A B C
int arrival[];  // contains values of 4 5 5
int Burst[];    // contains values of 6 7 8

我不知道该怎么做。任何帮助(教程,伪代码等)都表示赞赏。

1 个答案:

答案 0 :(得分:0)

这是我的建议。希望有所帮助。

基本上它做了什么,它创建了三个容器(参见STL的std :: vector)。它们可以具有无限大小(你不必在前面声明它)。创建三个辅助变量,然后用它们从流中读取。

while循环中的条件检查数据是否仍在文件流中。 我没有使用.eof()方法,因为它总是读取文件中的最后一行两次。



using namespaces std;

int main() {

vector<char> pro;
vector<int> arrival;
vector<int> Burst;

/* your code here */

char temp;
int number1, number2;


ifstream file;
file.open("text.txt");

if( !(file.is_open()))
  exit(EXIT_FAILURE);

while (file >> temp >> number1 >> number2)
{
  pro.push_back(temp);
  arrival.push_back(number1);
  Burst.push_back(number2);
}

file.close();

}
&#13;
&#13;
&#13;