#include #include #include #include int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "Wrong argument count!\n"); return 1; } int reader = open(argv[1], O_RDONLY); if (reader == -1) { perror("Opening the file for reading failed"); return 1; } int writer = open(argv[1], O_WRONLY); if (writer == -1) { perror("Opening the file for writing failed"); close(reader); return 1; } while (1) { char buf[256]; int cnt = read(reader, buf, 256); if (cnt <= 0) break; for (int i = 0; i < cnt; ++i) buf[i] = toupper(buf[i]); write(writer, buf, cnt); } close(reader); close(writer); return 0; }