#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>

int main() {
    int fd;
    const char *filename = "output_open.txt";
    const char *str = "Hello, world!";
    int num = 42;
    float fnum = 3.14;

    // Öffne die Datei zum Schreiben (erstellt sie, wenn sie nicht existiert)
    fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);
    if (fd == -1) {
        perror("open");
        exit(EXIT_FAILURE);
    }

    // Schreibe den String in die Datei
    if (write(fd, str, strlen(str)) == -1) {
        perror("write string");
        close(fd);
        exit(EXIT_FAILURE);
    }

    // Schreibe den Integer in die Datei
    char buffer[50];
    int length = snprintf(buffer, sizeof(buffer), " %d", num);
    if (write(fd, buffer, length) == -1) {
        perror("write int");
        close(fd);
        exit(EXIT_FAILURE);
    }

    // Schreibe den Float in die Datei
    length = snprintf(buffer, sizeof(buffer), " %.2f", fnum);
    if (write(fd, buffer, length) == -1) {
        perror("write float");
        close(fd);
        exit(EXIT_FAILURE);
    }

    // Schließe die Datei
    close(fd);

    return 0;
}