Matteo34
Nuovo Utente
- Messaggi
- 104
- Reazioni
- 3
- Punteggio
- 45
Ok grazie, adesso provoMa questo è un problema del file manager e/o dell'editor usato. Se vai da terminale e usi vim o nano, vedrai che te lo apre in ogni caso.
Segui il video qui sotto per vedere come installare il nostro sito come web app sulla tua schermata principale.
Nota: Questa funzionalità potrebbe non essere disponibile in alcuni browser.
Pubblicità
Ok grazie, adesso provoMa questo è un problema del file manager e/o dell'editor usato. Se vai da terminale e usi vim o nano, vedrai che te lo apre in ogni caso.
Ho trovato un comportamento alquanto strano della funzione write(credo sia la write), se scrivo meno caratteri di quelli che ho passato come parametro alla write, mi crea un file binario(estensione bin), se scrivo i byte giusti ne uno in più ne uno in meno, mi crea un semplice file di testo(estensione text).Ma questo è un problema del file manager e/o dell'editor usato. Se vai da terminale e usi vim o nano, vedrai che te lo apre in ogni caso.
in pratica ho deviato il file descriptor di 1(sdout) sul file descriptor associato al file creato, però quando vado a scrivere tramite la funzione write su stdout, se come secondo parametro della write gli passo meno caratter di quelli specificati e quindi meno byte, mi apre un file binario, se invece passo il giusto numero. mi apre un file dell'estensione da me voluta, non è strano?Se usi open(), il nome + estensione lo decidi tu, primo parametro.
Il numero di byte da scrivere lo specifichi tu a write(), come terzo parametro. Che vuo. dire "se scrivo di piu o di meno ?
Ho trovato un comportamento alquanto strano della funzione write(credo sia la write), se scrivo meno caratteri di quelli che ho passato come parametro alla write, mi crea un file binario(estensione bin), se scrivo i byte giusti ne uno in più ne uno in meno, mi crea un semplice file di testo(estensione text).
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: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
fil^@
file_be\0
Già fatto mi esce la stringa tradotta in esadecimale, per io problema e che il vorrei aprirlo come un normale filelasia stare casomai i file manager, verifica il contenuto da console,. con "hexdump -C file"
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?Codice:fil^@
Ma se volessi scrivere meno byte di quelli specificati nella write, non potrò mai farlo, come faccio a togilere quei caratteri?esattamente quello che dicevo
il file manager vede quei caratteri non ASCII, e ti bolla l'intero file come binario
quei caratteri ovviamente dipendono dalla write
ed è la cosa che avevo specificato qualche post fa, dicendo che c'era una cosa che non andava
e infatti sizeof ti dà la dimensione del puntatore a char, che è sempre 8 bytes sulle cpu a 64 bit...ma tu devi usare strlen per sapere la dimensione della stringa
Ma se volessi scrivere meno byte di quelli specificati nella write, non potrò mai farlo, come faccio a togilere quei caratteri?