matematica:asd:asd_14:mmap
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
matematica:asd:asd_14:mmap [11/03/2015 alle 16:28 (10 anni fa)] – creata Roberto Grossi | matematica:asd:asd_14:mmap [11/03/2015 alle 16:30 (10 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.1426091286.txt.gz · Ultima modifica: 11/03/2015 alle 16:28 (10 anni fa) da Roberto Grossi