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

Saludos (FILE)

Estas en el tema de Saludos (FILE) en el foro de C/C++ en Foros del Web. Saludos a todos! Me habló un colega en clase de este foro, que le fue muy útil en muchas ocasiones y me lo ha aconsejado. ...
  #1 (permalink)  
Antiguo 15/03/2011, 11:43
Axx
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Saludos (FILE)

Saludos a todos!
Me habló un colega en clase de este foro, que le fue muy útil en muchas ocasiones y me lo ha aconsejado. Espero engancharme poco a poco a este sitio ;)

Os traigo una duda o lío gordo que me he montado poco a poco en mi cabeza mientras aprendo C.
Estoy haciendo un ejercicio que se supone que debe solicitar un número de claves a gestionar que deberá introducir el usuario.
También la aplicación solicita los datos para cada clave y también los introducirá el usuario.
La aplicación debe aceptar como parámetros opcionales del ejecutable el número de claves a gestionar y el nombre del archivo, de manera que si recibe estos parámetros, sólo solicitaría al usuario los datos de las claves.

Y después de esto, debe guardarse dichos datos en un FILE.XML... Aunque esto es lo que menos me importa, como si es .txt

- La cosa es que como estoy no he visto mucho los ficheros (FILE); he pensado en hacerlo primero sin FILE, pero claro, creo que con FILE no tiene mucho que ver, sin ir más lejos soy consciente que el propio malloc sería por así decirlo
FILE *pf;
pf = fopen(NOMBRE_ARCHIVO, "w"); ...o "a"
Aún así os pongo mi código y si podríais decirme como meto el método para FILE os lo agradezco la verdad, porque tengo un gran lío. Aunque si estoy realmente toalmente perdido os agradecería también que lo hicierais saber.

typedef struct t_clave{
int codigo, ip, passw;
char nomUser[TMAX], nomWeb[TMAX], correo[TMAX];
}Clave;

int introduciendoClaves(Clave *c){
int numClav, i;
printf("\nIntroduzca el numero de claves que va a gestionar: ");
scanf("%d", &numClav);

c = malloc(sizeof(Clave)*numClav);
for(i=0; i<numClav; i++){
//(c+i)->nomUser = malloc(sizeof(char) * TMAX);

printf("\nIntroduzca un codigo: ");
scanf("%d", &(c+i)->codigo);
printf("\nIntroduzca la IP del servidor: ");
scanf("%d", &(c+i)->ip);
printf("\nIntroduzca el nombre de la web: ");
scanf("%s", &(c+i)->nomWeb);
printf("\nIntroduzca un nombre: ");
scanf("%s", &(c+i)->nomUser);
printf("\nIntroduzca un password: ");
scanf("%d", &(c+i)->passw);
printf("\nIntroduzca el correo electronico de su cuenta: ");
scanf("%d", &(c+i)->correo);
}
return numClav;
}


int main (int argc, char** argv){
Clave *c;
int numClav;
numClav = introduciendoClaves(c);
return 0;
}

Aunque no hice algo muy parecido pensaba poder comenzar con esto, pero como veis tengo un gran cacao porque incluso está hecho sin FILE aún. Pero otra gran duda que tengo es, cómo meto por ejemplo un correo electrónico sin que me de fallo cuando detecte otro signo que no sea sólo letras?

Perdonar por el tocho de mensaje...
  #2 (permalink)  
Antiguo 15/03/2011, 11:57
Axx
 
Fecha de Ingreso: marzo-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Saludos (FILE)

O dicho de otro modo, sé escribir una palabra en un fichero...

#define NOMBRE_ARCHIVO "./texto1.txt"

void escribe (char *palabra){
FILE *pf;
pf = fopen("NOMBRE_ARCHIVO", "w");
fprintf(pf,"%s", palabra);

//fwrite(palabra, TAMAX, 1, pf);
fclose (pf);
}

int main (int argc, char** argv){
char pal[TAMAX];

printf("Escribe la palabra: ");
scanf("%s", &pal);
escribe(pal);

FILE *pf;
pf = fopen(NOMBRE_ARCHIVO, "r");
fscanf(pf, "%s", &pal);
fprintf(pf, "%s", pal);
fclose(pf);
return 0;
}
Pero cómo podría meter una estructura como ésta dentro de un FILE?

typedef struct t_clave{
int codigo, ip, passw;
char nomUser[TMAX], nomWeb[TMAX], correo[TMAX];
}Clave;

¿Se puede hacer algo así?

Etiquetas: file, saludos
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 23:18.