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

problema con archivos en C

Estas en el tema de problema con archivos en C en el foro de C/C++ en Foros del Web. Buenos Dias/Tardes/Noches a todos, nunca en mi vida habia trabajado con archivos hasta este momento y tengo un problema que no se a que se ...
  #1 (permalink)  
Antiguo 11/11/2008, 10:50
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Exclamación problema con archivos en C

Buenos Dias/Tardes/Noches a todos, nunca en mi vida habia trabajado con archivos hasta este momento y tengo un problema que no se a que se deba, la idea general del codigo es que me lea un archivo del cual sacara estos datos : "S,A"
entonces al momento de estarlo leiendo los estara metiendo un arreglo llamado dere (que hace referencia a la parte derecha), y cuando lea la "," metera la A en otro archivo que se llame izqu (izquierda). el problema es que no me guarda los datos en el archivo, solo crea el archivo eh aqui el codigo:

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

main()
{int i,band=0;
clrscr();
FILE *pf,*dere,*izqu;
char letras[10],der[5],izq[5];

if(!(pf=fopen("H:\\grama.txt","r")))
	{printf("Error al abrir el archivo");
	getch();
	exit(0);
	}
else
	{//letra=fgetc(pf);
	fgets(letras,10,pf);
	printf("%s",letras);
	int len=strlen(letras);
	printf("%d",len);
	for(i=0;i<len;i++)
		{		
		if(band==0)
			{der[i]=letras[i];
			fopen("H:\\dere.txt","a");
			fputs(der,dere);
			fclose(dere);
			}
		else if(band==1)
			{izq[i]=letras[i];
			fopen("H:\\izqu.txt","a");
			fputs(izq,izqu);
			fclose(izqu);
			}		
		if(letras[i]=',')
			{band=1;}
		}
	fclose(pf);
	getch();
	}
}
  #2 (permalink)  
Antiguo 12/11/2008, 20:26
 
Fecha de Ingreso: septiembre-2007
Mensajes: 52
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: problema con archivos en C

Cita:
Iniciado por lukas4 Ver Mensaje
el problema es que no me guarda los datos en el archivo, solo crea el archivo eh aqui el codigo:
Hola,

Viéndolo por encima, me parece que el problema está simplemente en que al usar fopen() para abrir dere.txt e izq.txt, no estás asignando el valor de retorno de fopen() a los apuntadores 'dere' e 'izq'.

Es decir, en lugar de esto:

Código:
			fopen("H:\\dere.txt","a");
parece que lo que necesitas es esto:
Código:
			dere = fopen("H:\\dere.txt","a");
y algo análogo ocurre con el último fopen().
  #3 (permalink)  
Antiguo 12/11/2008, 21:03
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: problema con archivos en C

si, exactamente, eso era,GRACIAS!!!
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 18:42.