14/06/16 14:39
AldoBaldo
Non ne so niente di queste cose. Proprio per questo ho cercato qualche notizia su 'sto "BOM dell'UTF-8" e sto cercando di capire. Il file dal quale devi estrarre l'array è dunque un file di testo dove ogni carattere è rappresentato in uno "spazio" di 8 bit? Da quel che ho letto m'è parso di capire che un file in UTF-8 può essere letto come un qualsiasi file di testo, e che i primi tre caratteri "" sono lì solo per ragioni di compatibilità o qualcosa del genere. Se fosse così, non sarebbe sufficiente cominciare a estrarre i dati dal quarto carattere del file in avanti?
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
14/06/16 14:52
Simo9912
Premetto che non ne so praticamente niente di C.....praticamente dovrei avere le prime due righe libere senza quei caratterei dell'UTF-8 per usarli in quanto devo fare una sostituzione.....come potrei fare a toglierli...c'è piu precisamente cominciare la ricerca 4 caratteripiu avanti???
aaa
14/06/16 14:52
Simo9912
Ops..questo è il file
Ultima modifica effettuata da Simo9912 14/06/16 14:55
aaa
14/06/16 15:19
Simo9912
Scusa non ho ben capito cosa fa e dove dovrei inserire il codice...
aaa
14/06/16 15:24
TheDarkJuster
Prima della lettura del file.
Il file_handler è il file aperto con fopen();
suppongo avrai qualcosa del genere nel tuo codice:
FILE* file_handler = fopen("miofile.txt", "r");
aggiungi dopo quello che ti ho dato:
FILE* file_handler = fopen("miofile.txt", "r")
char possibleBOM[3];
fread((void*)&possibleBOM[0], sizeof(char), 3, file_handler);
if ((possibleBOM[0] != 'ï') || (possibleBOM[1] != '»') || (possibleBOM[2] != '¿')) fseek(file_handler, 0, SEEK_SET);
e i caratteri successivi che leggerai saranno quelli che ti aspetti di leggere.
Ultima modifica effettuata da TheDarkJuster 14/06/16 15:25
aaa
14/06/16 15:46
Simo9912
Oraprovo e vi so dire grazie
aaa