我有一个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