作爲一個有趣的項目,我想我會寫一個程序來製作iso文件。據我所知,它可以工作,但每30秒只讀取4KB。我使用彈出-x 11將我的光驅驅動器放慢到合理的速度。如果沒有它,驅動器將全速運行,並且很快就會殺死該進程。任何建議,使這更快/更好將非常感激。真的很慢的光盤鏡像創建(ISO 9660)在C
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFFSIZE 4092
int main(int argc, char **argv)
{
FILE *fp = fopen("/dev/cdrom", "r");
FILE *file = fopen(strcat(argv[1], ".iso"), "w");
printf("Copying...\n");
while(!feof(fp))
{
char *line=(char *)malloc(sizeof(char) * BUFFSIZE);
fgets(line, BUFFSIZE, fp);
fprintf(file, "%s",line);
free(line);
}//end while
fclose(fp);
fclose(file);
printf("Done!\n");
return 0;
}//end main
您可能想要以二進制模式打開文件;像這樣覆蓋'argv [1]'可能是個壞主意;擺脫鑄造 – pmg 2011-03-29 21:39:25
大膽使用字符串函數來讀/寫任意二進制數據... – 2011-03-29 21:40:55