到文件我一點都不好當涉及到數據寫入到文件的大塊。我有一個模擬結構像這樣需要一個快速的方式來寫大數據塊用C
typedef struct
{
int age;
float height;
float weight;
int friends [ 250000 ];
} Person;
而且我可以有多達250,000人,每個有250000個朋友(一個集團)。顯然這是很多數據。如果我想保存每個結構,以便稍後加載它們,那麼C中最有效的方法是什麼?以下是我迄今爲止認爲
- 我不想創造了巨大的串25萬組數據,然後做單
write
,因爲這將使用大量的內存 - 我也不要由於這樣做可能會很慢,因此不想創建250,000個不同的文件。
- 基於索引追加文件(即人1,然後是人2 ...),但這可能也很慢。
- 保存數據爲二進制(這是更有效?)
編輯我正在尋找有效的方法來使用fwrite()
,即無論是更快地收集所有數據,並寫入單個文件,還是創建多個文件,避免收集所有數據的開銷。
你試過'fwrite'嗎? – cnicutar 2012-07-05 17:24:39
@cnicutar我將編輯這個問題,以表明我正在尋找更有效的方式來使用fwrite – puk 2012-07-05 17:26:15
爲什麼不使用某種數據庫? – mlibby 2012-07-05 17:26:18