#include #include #include #include #include #include #include int main() { printf("uid %d\n", getuid()); char buffer[1024]; int fd = open("weaths", O_RDONLY | O_DIRECTORY | O_EXCL); printf("fd = %d\n", fd); if (fd < 0) { perror("open \"weaths\""); exit(1); } while (1) { int n = read(fd, buffer, 1024), i; printf("n = %d, errno = %d\n", n, errno); if (n <= 0) { if (n < 0) perror("read"); break; } for (i = 0; i < n; i += 1) { char c = buffer[i]; if (isalnum(c) || c == '.') printf(" %c", c); else printf("[%X]", 0xFF & (unsigned int) c); } } printf("\n"); }