Edición de «
Archivos
»
Ir a la navegación
Ir a la búsqueda
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
= Abrir un archivo = Modos de apertura de un fichero: <pre> r Abre un fichero existente para lectura. w Crea un fichero nuevo (o borra su contenido si existe) y lo abre para escritura. a Abre un fichero (si no existe lo crea) para escritura. El puntero se sitúa al final del archivo, de forma que se puedan añadir datos si borrar los existentes. Se pueden añadir una serie de modificadores siguiendo a los modos anteriores: b Abre el fichero en modo binario. Lee byte a byte sin hacer conversión de salto de linea y retorno de carro. t Abre el fichero en modo texto. Retorno de carro y salto de linea se convierten a caracteres de salto de linea + Abre el fichero para lectura y escritura. Ejemplos de combinaciones: rb+ - Abre el fichero en modo binario para lectura y escritura. w+ - Crea (o lo borra si existe) un fichero para lectura y escritura. rt - Abre un archivo existente en modo texto para lectura. </pre> = Escribir en archivo = <pre> #include <iostream> #include <stdio.h> //Libreria donde estan implementadas las funciones de archivos int main(void){ FILE *archivo; //Puntero de tipo archivo char nombre[] = "datos.txt"; archivo = fopen(nombre, "w"); //Función para abrir el fichero if(archivo){ //Si el fichero no se ha podido abrir contendra NULL fprintf(archivo, "%s \n", "Hola que tal"); //Funcion para escribir en el fichero fclose(archivo); //Cerrar el fichero al acabar } } </pre> = Leer de archivo = <pre> #include <iostream> #include <stdio.h> int main(){ FILE *archivo; char nombre[]="datos.txt"; char frase[80]; archivo = fopen(nombre, "r"); if(archivo){ fscanf(archivo, " %[^\n]", &frase); //Función para leer del archivo. %[^\n] con esto se lee hasta el final de la frase no como con %s que lee hasta el espacio entre palabras while(!feof(archivo)){ //La función feof devuelve 0 mientras no se llega al final del archivo printf("%s\n", frase); fscanf(archivo, " %[^\n]", &frase); } fclose(archivo); } } </pre> = Funciones = == fopen == == fprintf == == fscanf == == fclose == == rewind == void rewind(FILE *fichero); *Situa el cursor de lectura/escritura al principio del archivo == fputs == int fputs(const char *cadena, FILE *stream); *Escribe una cadena en el archivo *Retorna EOF si hay un error de escritura y un valor positivo si se escribe bien == fputc == int fputc(int c, FILE *stream); *Escribe un caracter en el fichero *Transforma la variable a unsigned char *Cuando escribe avanza una posición *Devuelve EOF si obtiene error y el caracter escrito si lo escribe == fgets == char *fgets(char *cadena, int n, FILE *stream); *Lee como máximo n-1 caracteres de un fichero y lo guarda en cadena *No lee el caracter de nueva liena *Escribe un caracter nulo después del último caracter leído *Retorna la cadena si se ha reliazado con exito *Si hay un fallo devuelve un puntero NULL == fgetc == int fgetc(FILE *stream); *Lee un caracter y lo devuelve como un int. Después avanza una posición. *Si es el final del fichero retorna EOF *Si ocurre un error también devuelve EOF printf( "%c", fgetc(archivo) ); == fread == size_t fread(void *puntero, size_t tamanyo, size_t nmemb, FILE *stream); *El puntero apunta a la memoria donde se guardan los datos leidos *tamanyo es el numero de bytes a leer *nmemb son el numero de elementos (de longitud tamanyo) a leer *stream es el fichero *<u>Es una función útil para leer arrays o estructuras de "golpe"</u> == fwrite == size_t fwrite(const void *puntero, size_t tamanyo, size_t nmemb, FILE *stream); *El puntero es un puntero a la información que va ha ser escrita *tamanyo es el numero de bytes a escribir *nmemb es el número de elemenots (de longitdu tamanyo) a escribir *stream es el fichero *<u>Es una función útil para escribir arrays o estructuras de "golpe"</u>
Resumen:
Ten en cuenta que todas las contribuciones a Proyectos se consideran publicadas bajo la Creative Commons Atribución-CompartirIgual (véase
Proyectos:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Menú de navegación
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Espacios de nombres
Página
Discusión
español
Vistas
Leer
Editar
Ver historial
Más
Buscar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Páginas especiales
Herramientas
Lo que enlaza aquí
Cambios relacionados
Información de la página