#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <sys/wait.h>

#include <fcntl.h> // <-- serve questo import per open()

int main() {
	// apro prova.txt, solo scrittura, crea se non esiste, con permessi 644
	int fd = open("prova.txt", O_WRONLY | O_CREAT, 0644);

	// Sovrascrivo STDOUT con fd, cioè il file prova.txt
	dup2(fd, 1); // 1: stdout

	// Scrivo su fd, va a finire su prova.txt
	write(fd, "ciao db", sizeof("ciao db"));

	// Visto che abbiamo sovrascritto stdout con fd, printf va a finire nel file prova.txt
	printf("ciao dup2");

	return 0;
}
