fopen() open() Example
int fopen_exmaple(void)
{
unsigned char data[40], buf[40];
FILE *fRead, *fWrite;
int readPOS=0, readLen, writePOS=0, writeLen;
//Open input file
fRead = fopen("afewgood.dat", "rb");
if(fRead == NULL) return -1;
//Open output file
fWrite = fopen("afewgoodR.dat", "wb");
if(fWrite == NULL)
{
fclose(fRead);
return -2;
}
while(!feof(fRead))
{
memset(data, 0x00, sizeof(data));
readLen = fread(data, 1, 40, fRead);
if(readLen == 0) break;
fseek(fRead, readPOS, SEEK_SET);
readPOS += readLen;
memset(buf, 0x00, sizeof(buf));
memcpy(buf, data, 40);
writeLen = 40;
fwrite(buf, 1, writeLen, fWrite);
fseek(fWrite, writePOS, SEEK_SET);
writePOS += writeLen;
}
fclose(fRead);
fclose(fWrite);
sync();
return 0;
}
#include <fcntl.h>
#include <unistd.h>
int open_example(void)
{
unsigned char data[40], buf[40];
int fRead, fWrite;
int readPOS=0, readLen, writePOS=0, writeLen;
//Open input file
fRead = open("afewgood.dat", O_RDONLY);
if(fRead == '\0') return -1;
//Open output file
fWrite = open("afewgoodR.dat", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
if(fWrite == '\0')
{
close(fRead);
return -2;
}
while(1)
{
memset(data, 0x00, sizeof(data));
readLen = read(fRead, data, 40);
if(readLen == 0) break;
lseek(fRead, readPOS, SEEK_SET);
readPOS += readLen;
memset(buf, 0x00, sizeof(buf));
memcpy(buf, data, 40);
writeLen = 40;
write(fWrite, buf, writeLen);
lseek(fWrite, writePOS, SEEK_SET);
writePOS += writeLen;
}
close(fRead);
close(fWrite);
sync();
return 0;
}