我有一個C程序中生成的大量數據。我想將數據寫入1GB文件。如何暫停文件寫入時,文件達到一定的大小,然後創建一個新的文件
我怎麼會這樣做呢?
目前,我經歷了一個while循環(有一個條件將持續到創建5 gbs數據爲止)。它創建一個結構,並將其寫入文件:
fwrite(storedVal, sizeof(keyEncode),1,fp);
//storedVal being the struct (which contains my data)
我想每個文件被稱爲codes1,代碼2和增量,直到while循環結束。我相信它會包含一個if語句,它基於它正在寫入的當前文件的大小。然後,當它達到1GB時,它開始一個新的文件。
編輯//
實際上它應該是某種while語句,即不斷書面方式的大小,直到文件達到1GB,並開始在眼下的新
我的文件被打開之前我while循環:
fp = fopen("keys.dat", "wb");
while(condition is true) {
//create a new struct with data and
fwrite(storedVal, sizeof(keyEncode),1,fp);
}
我幾乎想要-1來代替'ONE_GIGABYTE'。 'MAX_SIZE_PER_FILE'應該是合理的,但是通過將數字的名字寫成字符串來避免幻數就是我能想到的最愚蠢的編程教條。你會寫'int x = FOURTY_TWO;'? – 2010-11-16 16:26:30
是int fp,意思是File * fp ????????如果不是這是什麼 – molleman 2010-11-16 16:30:27
@R「注意,有一些部分被遺漏填寫」 - 我不是在這裏命名他的變量或常量,我只是希望它清楚問題提問者應該將哪些值放在哪裏。另外一個技嘉是一個單位數字不只是一個數字 – 2010-11-16 16:32:23