Warning: Undefined array key "view" in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 47

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 49

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 50

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1718/lab-examples/index.php on line 51
/** * duplica il contenuto di un file specificato, concatenandone * una copia del precedente contenuto */ /* necessario per utilizzare la funzionalita' non-POSIX mremap: */ #define _GNU_SOURCE #include #include #include #include #include #include #include int main(int argc, char *argv[]) { struct stat sb; char *p; int fd, size, i; if (argc < 2) { fprintf(stderr, "uso: %s \n", argv[0]); exit(1); } if ((fd = open(argv[1], O_RDWR)) == -1) { perror(argv[1]); exit(1); } if (fstat(fd, &sb) == -1) { perror("fstat"); exit(1); } if (!S_ISREG(sb.st_mode)) { fprintf(stderr, "%s non รจ un file\n", argv[1]); exit(1); } /* mappa il contenuto originale del file */ size = sb.st_size; if ((p = (char *)mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { perror("mmap"); exit(1); } /* raddoppia la dimensione del file */ if (ftruncate(fd, size * 2) == -1) { perror("ftruncate"); exit(1); } /* estende la mappatura alla nuova dimensione */ if ((p = (char *)mremap(p, size, size * 2, MREMAP_MAYMOVE)) == MAP_FAILED) { perror("mremap"); exit(1); } /* duplica il precedene contenuto sulla seconda parte */ for (i = 0; i < size; i++) p[i + size] = p[i]; size *= 2; printf("File '%s' duplicato!\n", argv[1]); if (close(fd) == -1) { perror("close"); exit(1); } if (munmap(p, size) == -1) { perror("munmap"); exit(1); } }