【发布时间】:2012-04-11 14:11:40
【问题描述】:
试图弄清楚如何制作一个小库存程序,但我终生无法弄清楚它为什么不起作用。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct record
{
int item_id;
string item_type;
int item_price;
int num_stock;
string item_title;
string item_author;
int year_published;
};
void read_all_records(record records[]);
const int max_array = 100;
int main()
{
record records[max_array];
read_all_records(records);
cout << records[2].item_author;
return 0;
}
void read_all_records(record records[])
{
ifstream invfile;
invfile.open("inventory.dat");
int slot = 0;
for (int count = 0; count<max_array; count++);
{
invfile >> records[slot].item_id >> records[slot].item_type >> records[slot].item_price >> records[slot].num_stock >> records[slot].item_title >> records[slot].item_author >> records[slot].year_published;
slot++;
}
invfile.close();
}
我正在通过让它打印来自记录作者的第二项来测试它。当我运行它时,它根本不显示作者姓名。 .dat 文件几乎位于项目所在的每个文件夹中(我忘记了它需要在哪个文件夹中),所以它就在那里。 问题不在于该文件不起作用。这是数组没有打印任何东西。 我的 inv 文件基本上是:
123456 书 69.99 16 标题 等等 等等
并在一行上重复不同的书籍/CD等,所有这些都没有空格。应该就在下一个。
【问题讨论】:
标签: c++ file loops input for-loop