codigo ascii del caracter fin de fichero

ramonal
18 de Junio del 2003
Hola a todos. Mi duda es la siguiente, me gustariá saber cual el código ascii correspondiente al caracter fin de fichero en C++ (Builder) y cual es su representación, es decir, si por ejemplo el caracter tabulador se representa 't', como sería la representación del caracter fin de fichero. Muchas gracias.

chuidiang
18 de Junio del 2003
Pues no te puedo asegurar nada, pero no creo que haya un código ascii para final de fichero. Si lo hubiera, no podría escribirse ese código en el fichero.
De todas formas, en los antiguos sistemas operativos (ms-dos y similares) se solía emplear el ctrl-Z como entrada de usuario para indicar un fin de fichero. Por ejemplo, en ms-dos, si hacias

c:> copy con: fichero.txt

se copiaba lo que escribia el usuario en el fichero.txt, y el usuario indicaba que había termiando de escribir con un ctrl-Z.

Se bueno

Martin
18 de Junio del 2003
En C (Cualquier C) existe una palabra que esta en el fichero stdio.h y es EOF. Si voy leyendo uno a uno los caracteres y he llegado al final del archivo el proximo caracter que leere es EOF
Esto es, si tenemos:
c = fgetc(f1);
c sera EOF cuando llege al final del archivo, pero para detectar esto es mejor usar
feof(FILE *f)
donde f es un fichero ya avierto que se esta leyendo)
Si la idea es truncar el final del archivo hace un fputc(EOF) en la pocicion deseada (se pone con fseek) y el archivo estara truncado. Easta es la manera "sucia" (si, muy sucia) de hacerlo creo que existe otra pero no me la acuerdo ahora...

Martin
18 de Junio del 2003
Ha me olvidaba, para incluirlo en un string ANSI C soporta la forma:
fprintf(f, "Texto del string...ntFin...%c", EOF);
El %c dentro de la cadena es el formato para el caracter...
si queres ponerlo en un string usa sprintf que reemplaza el f del archivo por un puntero a un string (s[])