在我的程序中,我正在输入一个文件,文件内部是这样的:
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个数字放入其中?
答案 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 >> ...