== tar&untar == {{{~cpp #include #include void main() { // tar FILE * to= fopen("tar.dat", "wb"); FILE * from; const int MAX_BUF= 1024; char buffer[MAX_BUF]; _finddata_t file; int handle= _findfirst("tar\*", &file); while( _findnext(handle, &file)==0 ){ if (!(file.attrib & _A_SUBDIR )){ fwrite( &file, sizeof(_finddata_t), 1, to); sprintf(buffer, "tar\%s", file.name); from= fopen(buffer, "rb"); for ( unsigned int i= 0 ; i < file.size ; i++ ) fputc(fgetc(from), to); fclose(from); } } fclose(to); // untar from= fopen("tar.dat", "rb"); while( fread(&file, sizeof(_finddata_t), 1, from) ){ sprintf(buffer, "untar\%s", file.name); to= fopen(buffer, "wb"); for( unsigned int i= 0 ; i < file.size ; i++ ) fputc(fgetc(from), to); fclose(to); } fclose(to); } }}} [데블스캠프2006/화요일/tar]