Foros del Web » Programación para mayores de 30 ;) » C/C++ »

duda de manejo de ficheros

Estas en el tema de duda de manejo de ficheros en el foro de C/C++ en Foros del Web. hola tengo una duda o no se como se hace para el manejo de ficheros en c el tema que si si quiero escribir una ...
  #1 (permalink)  
Antiguo 11/07/2016, 19:01
 
Fecha de Ingreso: octubre-2015
Mensajes: 17
Antigüedad: 8 años, 6 meses
Puntos: 0
duda de manejo de ficheros

hola tengo una duda o no se como se hace para el manejo de ficheros en c el tema que si si quiero escribir una cadena de caracteres queda bien , el problema es cuando quiero escribir variables de tipo int que nose como es la funcion para que se guarde en el archivo por temas de tamaño de codigo hice un pequeño programa para resumir lo que nose como hacer he consultado libros y visto videos en youtube pero aun no caigo en como se hace u.u

Código HTML:
#include<stdio.h>
#include<stdlib.h>

int main(){
	
	FILE *fichero;
	
	fichero = fopen("archivo.txt","w");
	
	int a;
	
	if(fichero == NULL){
		
		printf("error al crear el archivo");
	
	}else {
		
		scanf("%i",&a);
		
		fprintf(fichero,"variable ");
		fwrite(&a,sizeof(a),1,fichero);
		
	}
	
	return 0;
}
  #2 (permalink)  
Antiguo 12/07/2016, 01:24
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: duda de manejo de ficheros

Los ficheros pueden contener información en modo binario o en modo texto.

Los ordenadores por dentro no manejan notación decimal sino binaria. En tu ejemplo estás almacenando un entero en formato binario y el resultado es que en el fichero se escribirán 4 bytes (o 32 bits, que suele ser el tamaño estándar para el tipo int) y en esos bytes se encontrará la representación binaria del número. Si abres el fichero con el block de notas verás 4 caracteres (alguno puede no tener representación) extraños en vez de tu esperado número.

Si lo que deseas es almacenar información que sea fácilmente legible por una persona entonces tienes que almacenar la información en modo texto. Para este menester puedes hacer uso de, por ejemplo, fprintf:

Código C:
Ver original
  1. fprintf(fichero,"%d",a);

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: ficheros, int, manejo, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:23.