ciao,
Ho un problema con la funzione EOF usata con file aperti in modalità Binary
In particolare in una parte del codice scrivo un file che ho aperto in modalità binary. Lo devo scrivere un carattere per volta. Le istruzioni per scrivere sono:
codice:
Dim putChar as string * 1
Dim msg as string
Open defaultFile For Binary As #1
For i = 1 To Len(msg)
putChar = Mid(msg, i, 1)
Put 1, , putChar
Next
close 1
Poi in un'altra parte del codice leggo il file tramite get. Il codice è:
codice:
Dim gotChar as string * 1
Open fName For Binary As #1
Do While Not EOF(1)
Get 1, , gotChar
tmpStr = tmpStr & gotChar
Loop
Quello che succede è che ogni tanto, l'EOF diventa true un carattere dopo ciò che mi aspetto. Per esempio:
Scrivo un file il cui ultimo carattere è 'x'
quando lo leggo, ogni tanto (?!?) capita che dopo aver letto la 'x' Eof non diventi TRUE ma viene letto un altro carattere che spesso ha un codice ASCII molto basso (spesso non è un carattere della tastiera)
Preciso che non incorro in nessun errore run-time. Semplicemente c'è un carattere 'fantasma' in più nella stringa finale tmpStr
ne sapete qualcosa?
grazie