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

I/O C++ Reading from a text file

本文关键字:文件 读取 文本 c++      更新时间:2023-10-16

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

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;

等等

我只是不知道如何让它只输入特定的数字到它。比如当我做>>actnum>>选项时它怎么知道只放前5个数字呢?

使用c++ <fstream>库。fscanf()有点过时了,你可能会从<fstream>中获得更好的性能,更不用说代码更容易阅读:

#include <fstream>
using namespace std;
ifstream fileInput("C:foo.txt");
fileInput >> actnum >> choice >> float1 >> float2;
input_file_stream >> actnum >> choice >> ...

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);