将结构信息从文件读入空数组

时间:2014-11-17 19:20:00

标签: c++ arrays file structure

我需要一些帮助...... 我有这个数据文件accounts.txt:

stefan 20 50 60
anelia 2130 452 5200
atanas 52.3 560 45
peychev 258 852 654
ivan 1 2 3
petyr 4 5 6
me 48 84 57
you 57 48 56
Jordan 1000 0 0
asd 12 13 14
bdp 15 16 17

我需要从文件中读取信息到一组结构中。 这是我的代码:

#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
const int N=1000;
int n;
struct account {
    char name[30];
    double blv;
    double usd;
    double euro;
};
void sortirane (int n);

void main() {
    cin>>n;
    ....
}

这就是功能:

void sortirane(int n) {
    ifstream file1("accounts.txt");
    if(!file1) { cerr<<"Error!"; return; }
    account b[N];

    for(int i=0;i<n;i++)
        file1>>b[i].name>>b[i].blv>>b[i].usd>>b[i].euro;

    for (int j=0;j<n;j++)
        cout<<b[j].name<<b[j].blv<<b[j].usd<<b[j].euro;
}

不幸的是,在第一个循环结束后,数组是空的......

1 个答案:

答案 0 :(得分:0)

如果您认为数组为空的原因是因为全局n仍为0,那么因为您从未更改它(并且不能来自sortirane,因为它有自己的n {1}})。