我有一點麻煩我的程序從文件中讀取數據。問題是該文件目前是空的。每次運行該程序時,都會填充一個單一的書籍[],並在稍後的代碼中寫入文件。雖然我確定當所有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