int main() { int fd = open("yourfilehere", O_RONLY); char readbuf; char readlgbuf[3]; char * rp; int i = 0; char filename[4]; filename = "par0"; int fa = open(filename, O_WONLY); while(read(fd, readbuf, 1) != -1) { if(readbuf == 0xCE) { if(read(fd, readlgbuf, 3) != -1) { if( readlgbuf == { 0xFA,0xED,0xFE } ) { close(fa); i++; memcpy(filename+3, *(char *)i, 1); fa = open(filename, O_WONLY); write(fa, "\xCE\xFA\xED\xFE", 4); } else { write(fa, "\xCE", 1); write(fa, readlgbuf, 3); } } else exit(0); } } else { write(fa, readbuf, 1); } } close(fa); close(fd) return 0; }