ma che strano sistema operativo stai usando?? l'estensione la stabilisci tu con la open, non è la write a determinare il contenuto
i file manager purtroppo nascondono le estensioni e usano icone ad hoc per rappresentare i file secondo il tipo che loro hanno identificato...quindi non lasciarti fregare dal file manager
nel caso del tuo codice, ho notato che aggiunge dei simboli non ASCII alla fine della stringa e questo è il motivo per cui i file vengono identificati come binari
sono su Ubuntu 20.10, come dici tu è possibile che il file manager me lo identifichi come un file binario, il fatto e che se lo apro con vim e con nano questo è il risultato:
che sono quei caratteri alla fine? e la cosa più strana e che se non do come parametro alla write l'esatto numero di byte che ho scpecificato(non in meno come nel file di sopra)mi apre un file binario anche se io lo specificato di formato text.
E questo è il risultato con vim nel caso passo il numero esatto di byte:
scrivendo sul file esattamente 8byte(visto che sizeof(arg[1]) è un puntatore), il file magicamente diventa di testo : (
inoltre se mi aggiunge quei caratteri alla fine a mia insaputa come posso toglierli, è un problema questo, ogni volta che creo un file mi aggiunge quei caratteri e ogni volta devo toglierli.
Illuminazione!!!!!! Passando alla write il numero di byte esatti della stringa quei due caratteri finali mi vengono tagliati è il file mi viene identificato come di testo, se invece passo meno caratteri non vengono tagliati e quindi me lo identifica come binario infatti cancellando gli ultimi due caratteri mi viene identificatocome file di testo