C/Visual C - E/S por archivos

 
Vista:

E/S por archivos

Publicado por jose (2 intervenciones) el 29/08/2001 00:58:40
Si creamos un archivo llamado por ejemplo "doc" :
FILE *p;
if((p=fopen("c://doc","wb"))==NULL)
{
printf("\nError...");
exit(1);
}
¿Es correcto este codigo para crear un archivo binario?
¿Sería de acceso secuencial o aleatorio?
Es de acceso aleatorio por ser de disco ¿no?
La impresora es de acceso secuencial ¿verdad?

El fichero anterior, lo podria haber abierto en modo lectura y escritura, es decir, con "w+b" y así una vez escrito en él no tendria que cerrarlo para poder leerlo(pero si que tendria que rebobinarlo)¿ésto es así?

Antes me han dicho que los que se suelen abrir en modo lectura y escritura son los binario y de acceso aleatorio pero ¿y los demás? NOse suelen o no se pueden abrir así?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

E/S por archivos

Publicado por Alejandro (980 intervenciones) el 11/10/2024 20:40:35

Creación de un archivo binario



El código que proporcionaste para crear un archivo binario es correcto:

1
2
3
4
5
6
FILE *p;
if((p=fopen("c://doc","wb"))==NULL)
{
    printf("\nError...");
    exit(1);
}

Solución: Este código abre (o crea) un archivo llamado "doc" en modo binario para escritura. Si el archivo no se puede abrir, se imprime un mensaje de error y el programa termina.

Acceso secuencial vs. aleatorio



El acceso a un archivo binario creado de esta manera es generalmente considerado aleatorio porque puedes mover el puntero de archivo a cualquier parte del archivo para leer o escribir datos. Sin embargo, el modo en que accedes a los datos también depende de cómo implementes la lectura y escritura.

Solución: El archivo en sí es de acceso aleatorio, pero el acceso secuencial o aleatorio depende de cómo manejes las operaciones de lectura y escritura.

Impresora y acceso secuencial



La impresora generalmente se considera un dispositivo de acceso secuencial porque los datos se envían en un flujo continuo y no puedes acceder a partes específicas de la impresión sin volver a enviar el documento completo.

Solución: Correcto, la impresora es de acceso secuencial.

Modo lectura y escritura



Sí, puedes abrir el archivo en modo lectura y escritura usando `"w+b"`. Esto te permite escribir en el archivo y luego leer de él sin necesidad de cerrarlo, pero efectivamente necesitarás usar `fseek()` o `rewind()` para mover el puntero de archivo a la posición deseada antes de leer.

Solución: Así es, puedes abrir el archivo en modo `"w+b"` y necesitarás rebobinarlo para leer después de escribir.

Modos de apertura de archivos



Los archivos binarios y de acceso aleatorio se suelen abrir en modo lectura y escritura, pero otros tipos de archivos (como archivos de texto) también pueden abrirse en estos modos, aunque no siempre es práctico. Por ejemplo, un archivo de texto puede abrirse en modo `"r+"` para lectura y escritura, pero debes tener cuidado con la manipulación de datos, ya que la escritura puede afectar el formato del texto.

Solución: Los archivos de texto pueden abrirse en modo lectura y escritura, pero es menos común y puede ser problemático debido a la naturaleza del formato de texto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar