#include #include #include #include #include #include int main(int argc, const char* argv[]) { int i; for (i = 1; i < argc; i++) { int fd, len, ret; struct stat statbuf; fd = open(argv[i], O_CREAT|O_TRUNC|O_WRONLY, 0666); if (fd == -1) { fprintf(stderr, "%s: open: %s\n", argv[i], strerror(errno)); continue; } len = write(fd, "Hello world\n", 12); if (len != 12) { fprintf(stderr, "%s: write: %s\n", argv[i], strerror(errno)); close(fd); continue; } ret = fstat(fd, &statbuf); if (ret != 0) { fprintf(stderr, "%s: fstat: %s\n", argv[i], strerror(errno)); close(fd); continue; } printf("%s: fstat: st_size=%lld\n", argv[i], (long long)statbuf.st_size); ret = close(fd); if (ret != 0) { fprintf(stderr, "%s: close: %s\n", argv[i], strerror(errno)); } ret = stat(argv[i], &statbuf); if (ret != 0) { fprintf(stderr, "%s: stat: %s\n", argv[i], strerror(errno)); continue; } printf("%s: stat: st_size=%lld\n", argv[i], (long long)statbuf.st_size); } }