Aloha,Как читать большой файл с функцией read() в C
Я здесь новый, поэтому, пожалуйста, успокойтесь. Я пытаюсь прочитать файл с функцией read()
, а затем write()
в файл или файловый дескриптор. Моя функция успешно читает файл, но проблема возникает, когда я пытаюсь прочитать больший файл (в моем примере размером 40 000 байт).
Я думаю, что я должен написать цикл WHILE, который будет чтение до конца файла, но я застрял на идее о том, как ..
(открыть файл или файл дескриптора в основной программы)
Моя функция (также преобразовать двоичные входные данные полукокса и записывает в ASCII):
void function(int readFrom,int writeOn){
char buffer[100];
int x = read(readFrom, buffer, sizeof(buffer));
int size= x/8;
int i;
for(i=0; i<size; i++){
char temp[sizeof(int)-1];
sprintf(temp,"%d",buffer[i];
write(writeOn, temp, sizeof(temp));
}
}
'size (int) -1' на самом деле не большой буфер. – usr2564301
Показать «пример» из 40 тыс. Прочитанных. –
Возможный дубликат [Чтение большого файла с использованием C (более 4 ГБ) с использованием функции чтения, вызывающей проблемы] (http://stackoverflow.com/questions/11790822/reading-a-large-file-using-c-greater- чем-4gb-using-read-function-cause-pro) –