我有一点麻烦我的程序从文件中读取数据。问题是该文件目前是空的。每次运行该程序时,都会填充一个单一的书籍[],并在稍后的代码中写入文件。虽然我确定当所有10个结构都在文件中时它会工作,但现在它正在崩溃,因为文件是空的,它正在尝试读取10个结构。阅读从文件结构的数目不详 - Visual C
有没有办法在一个未知的数量从文件结构(最多10个)的阅读?
struct stock
{
char name[31];
int stock;
};
int main (void)
{
stock books[10];
FILE *fptr;
fptr = fopen("stock.dat", "rb");
fread(books, sizeof(struct stock), 10, fptr);
fclose (fptr);
}
它在哪里崩溃?什么是错误?这是一个令人疯狂的几乎完整的问题描述。 – tbert 2012-03-23 11:23:41
如果你在控制文件格式(即它不是由其他人定义的),我建议使用文本格式(例如名称,每行一个股票)而不是二进制。这意味着更多的代码,但你只写一次代码;该文件将更加可用。 – 2012-03-23 12:14:51