• Sábado 14 de Diciembre de 2024, 20:39

Autor Tema:  guardar un archivo con nombre proporcionado.  (Leído 1061 veces)

neolink

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
guardar un archivo con nombre proporcionado.
« en: Martes 25 de Noviembre de 2008, 02:53 »
0
Hola, soy un novato aprendiendo a usar archivos en C. Según tenia entendido, con la función 'fopen'  se puede guardar una cadena en un archivo con una sintaxis de la siguiente forma:      puntero=fopen( "nombre_de_archivo", "modo");

Pero yo creí, que también se podía usar una variable que tiene una cadena almacenada en sí en lugar del nombre de archivo directo, lo que quiero es preguntar al usuario ¿qué nombre desea para el archivo?
y lo que hice fue:

   printf ("Nombre del archivo para guardar su nota: ");
   scanf("%s", nombre);
   p=fopen( nombre, "w+");

Pero marca errores de compilación.
¿De qué forma puedo preguntar por el nombre de un archivo y guardarlo con ese nombre?

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: guardar un archivo con nombre proporcionado.
« Respuesta #1 en: Martes 25 de Noviembre de 2008, 09:22 »
0
Bienvenido al foro, neolink

Cita de: "neolink"
con la función 'fopen' se puede guardar una cadena en un archivo con una sintaxis de la siguiente forma: puntero=fopen( "nombre_de_archivo", "modo");
No, así sólo abres el fichero, no escribes nada en él.

Cita de: "neolink"
¿De qué forma puedo preguntar por el nombre de un archivo y guardarlo con ese nombre?
Tal y como has hecho está bien

Cita de: "neolink"
Pero marca errores de compilación.
¿Has incluído stdio.h? Si es así, especifica qué error te da.

¡Saludos!

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: guardar un archivo con nombre proporcionado.
« Respuesta #2 en: Martes 25 de Noviembre de 2008, 23:50 »
0
Código: C
  1. #include <stdio.h>
  2.    
  3. int main()
  4. {
  5. unsigned char nombre[2048];
  6. FILE *p;
  7.  
  8. p = NULL;
  9.  
  10. /* evidentemente deberian ir mas validaciones sobre el manejo del fichero,
  11. por ejemplo comprobar permisos de escritura, etc */
  12.  
  13.     printf ("Nombre del archivo para guardar su nota: ");
  14.     scanf("%s", nombre);
  15.  
  16.   p = fopen( nombre, "w+");
  17.  
  18.   fclose(p);
  19.  
  20. return 0;
  21. }
  22.  

Como lo estas implementando?