matematica:asd:asd_14:mmap
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedente | |||
| matematica:asd:asd_14:mmap [11/03/2015 alle 16:28 (11 anni fa)] – Roberto Grossi | matematica:asd:asd_14:mmap [11/03/2015 alle 16:30 (11 anni fa)] (versione attuale) – Roberto Grossi | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | #include < | + | |
| - | #include < | + | #include < |
| - | #include < | + | #include < |
| - | #include < | + | #include < |
| + | |||
| + | typedef unsigned char byte; | ||
| + | |||
| + | #define ERR(msg) | ||
| + | |||
| + | int main( int argc, char **argv ){ | ||
| + | int n, i; | ||
| + | byte *text; | ||
| + | |||
| + | FILE *fd; | ||
| + | struct stat stat_buffer; | ||
| + | |||
| + | /* apriamo il file in lettura e scrittura */ | ||
| + | fd = fopen( argv[1], " | ||
| + | if ( fd == NULL ) | ||
| + | ERR(" | ||
| - | typedef unsigned char byte; | + | /* lunghezza del file in byte */ |
| + | if (fstat( fileno(fd), & | ||
| + | ERR(" | ||
| + | n = stat_buffer.st_size; | ||
| + | |||
| + | /* mmap per associare text all' | ||
| + | text = (byte *)mmap(NULL, | ||
| + | if ( text == NULL ) | ||
| + | ERR( " | ||
| - | #define ERR(msg) | + | /* stampa il file */ |
| - | + | for( i=0; i < n; i++ ) | |
| - | int main( int argc, char **argv | + | printf( "%c", |
| - | int n, i; | + | |
| - | byte *text; | + | |
| - | + | ||
| - | FILE *fd; | + | |
| - | struct stat stat_buffer; | + | |
| | | ||
| - | | + | |
| - | fd = fopen( argv[1], " | + | text[0] = ' |
| - | if ( fd == NULL ) | + | |
| - | | + | |
| - | + | fclose( fd ); | |
| - | /* lunghezza del file in byte */ | + | |
| - | if (fstat( fileno(fd), & | + | |
| - | ERR(" | + | } |
| - | n = stat_buffer.st_size; | + | |
| - | + | ||
| - | /* mmap per associare text all' | + | |
| - | text = (byte *)mmap(NULL, | + | |
| - | if ( text == NULL ) | + | |
| - | ERR( " | + | |
| - | + | ||
| - | /* stampa il file */ | + | |
| - | for( i=0; i < n; i++ ) | + | |
| - | printf( " | + | |
| - | printf( " | + | |
| - | + | ||
| - | /* modifica il file */ | + | |
| - | | + | |
| - | + | ||
| - | /* chiudi il file */ | + | |
| - | fclose( fd ); | + | |
| - | + | ||
| - | return 0; | + | |
| - | } | + | |
matematica/asd/asd_14/mmap.1426091317.txt.gz · Ultima modifica: 11/03/2015 alle 16:28 (11 anni fa) da Roberto Grossi
