I / O C ++从文本文件中读取

时间:2011-09-22 03:45:40

标签: c++ io

在我的程序中,我正在输入一个文件,文件内部是这样的:

  

11267 2 500.00 2.00

......这是一行。以相同的顺序设置了更多行。我需要将第一个数字11267输入actnum。之后,2进入choice等等。我只是缺乏逻辑来弄清楚如何将前5个数字输入到第一个变量中。

actnum = 11267;
choice = 2;

编辑*

我拥有所有这些:

#include <fstream>
#include <iostream>
using namespace std;



void main()
{
    int trans = 0, account;
    float ammount, bal;

    cout << "ATM" << endl;

等等

我只是不知道如何让它只输入特定的数字。就像我做&gt;&gt; actnum&gt;&gt;选择如何只将前5个数字放入其中?

3 个答案:

答案 0 :(得分:2)

使用C ++ <fstream>库。 fscanf()稍微过时,您可能会从<fstream>获得更好的效果,更不用说代码更容易阅读了:

#include <fstream>
using namespace std;

ifstream fileInput("C:\foo.txt");
fileInput >> actnum >> choice >> float1 >> float2;

答案 1 :(得分:1)

fscanf就是你要找的。它与scanf相同,但适用于文件。

unsigned int actnum, choice;
float float1, float2;

FILE *pInputFile = fopen("input.txt", "r");

fscanf(pInputFile, "%u %u %f %f", &actnum, &choice, &float1, &float2);

答案 2 :(得分:1)

input_file_stream >> actnum >> choice >> ...