• Domingo 22 de Diciembre de 2024, 17:02

Autor Tema:  Re: Pregunta sobre Archivos...  (Leído 2159 veces)

.Yok3R.

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Pregunta sobre Archivos...
« en: Viernes 27 de Diciembre de 2002, 23:08 »
0
Existe una función ke me permita enviar el contenido de una variable a un archivo?
Para ser + especifico me explico, lo ke kiero hacer es lo siguiente:
Al leer una frase o al hacer operaciones matematicas, obvio ke esto es almacenado en X variable, pues lo ke pretendo es enviarlo a un archivo .txt, se puede?
o por ahí alguien tiene un código ke me ayude en est operación? se los agradecería bastante... gracias

MaBeCa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Pregunta sobre Archivos...
« Respuesta #1 en: Martes 31 de Diciembre de 2002, 02:01 »
0
Aca te envio un codigo fuente ke puede servirte de ayuda para lo ke kieras hacer.
lo que hace ese codigo es bajar a archivo los datos de una matriz.
Puedes hacer lo mismo con variables, vector, etc.
Ese mismo codigo deberias ajustarlo y añadirlo a lo que quieras hacer.

suerte!:)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Pregunta sobre Archivos...
« Respuesta #2 en: Martes 31 de Diciembre de 2002, 02:26 »
0
pues aquí va algo más sencillo (tengo poca experiencia con el C), no sé si te sirva, es para guardar un valor a un archivo:

 
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. int main()
  6. {
  7.     int num, num2;
  8.     char letra;
  9.     FILE *miarchivo;
  10.  
  11.     printf("Valor a escribir: ");
  12.     scanf("%i", &num);
  13.     miarchivo = fopen("datos.txt", "w");
  14.     fprintf(miarchivo, "%i", num);
  15.     fclose(miarchivo);
  16.     printf("variable guardada en datos.txtnnn");
  17.     miarchivo = fopen("datos.txt", "r");
  18.     fscanf(miarchivo, "%i", &num2);
  19.     printf("Valor leído de datos.txt: %i", num2);
  20.     fclose(miarchivo);
  21. }
  22.  
  23.  
La imaginación es el límite.
Hardware & Software | Mexchip

davidrj

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Pregunta sobre Archivos...
« Respuesta #3 en: Martes 21 de Enero de 2003, 07:24 »
0
Lo mejor es que vea la ayuda del compilador, es muy clara y facil de entender, los ejemplos que le enviaron son buenos y sencillos, pero son limitados.

En la ayuda busque fwrite, fread, fopen, fclose, fprinf, fscanf, fgetc,...  en fin todo lo que tenga f al comienzo en la libreria stdio.h, se me pasa en este momento, pero hay una forma por medio de clases que tambien biene con el compilador.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta sobre Archivos...
« Respuesta #4 en: Jueves 13 de Marzo de 2003, 22:53 »
0
:alien:
Ok, este ejemplo lo hice bastante compacto pero creo que contiene elementos clave para responder a la pregunta de una manera más general.
El programa fue compilado en el DGJPP, razon por la cual sino tienes el djgpp sino el turboc, probablemente tendras que suprimir estas lineas para que te corra, o sino conseguir la libreria.
#include<pc.h>
ScreenClear();
ScreenSetCursor(0,0);


Adicionalmente te sugiero que hagas pruebas cuando te puida digitar el numero entero, digita numeros que correspondan a caracteres ASCII, como por ejemplo el numero 48 que equivale al caracter '0' para que veas lo que escribe en el archivo, el programa esta diseñado para que puedas hacer algunas pruebas y mirar que te sale en el archivo, adicionalmente debes colocar el nombre del archivo que deseas crear.

Bien , el codigo es el siguiente:
:lightsabre:
 
Código: Text
  1.  
  2. /*Elaborado por Juan Carlos Ruiz Pacheco.
  3. **Trabajo con datos capturados desde teclado y archivos.
  4. **Compilado con el djgpp 13-03-2003
  5. **[email]juank@007mundo.com[/email]
  6. */
  7. #include<stdio.h>
  8. #include<pc.h>
  9.  
  10. int main()
  11. {
  12.   FILE *archivo=NULL;
  13.   char caracter=NULL;
  14.   char cadena[255],nombrearchivo[255], aux[255];
  15.   int dato=NULL;
  16.  
  17.   ScreenClear();
  18.   ScreenSetCursor(0,0);
  19.   memset(cadena,'',sizeof(cadena));
  20.   memset(nombrearchivo,'',sizeof(cadena));
  21.   memset(aux,'',sizeof(cadena));
  22.  
  23.   printf("Introduzca el nombre del archivo:");
  24.   gets(nombrearchivo);
  25.  
  26.   if((archivo=fopen(nombrearchivo,"at+"))!=NULL)
  27.   {
  28.     printf("annnIntroduzca un solo caracter para escribir en el archivo:");
  29.     caracter=getchar();
  30.     strcpy(aux,"nEl caracter digitado:");
  31.     fwrite(aux,strlen(aux),1,archivo);
  32.     fputc((int)caracter,archivo);
  33.  
  34.     memset(aux,'',sizeof(cadena));
  35.     printf("nIntroduzca un entero para escribir en el archivo:");
  36.     scanf("%d",&dato);
  37.     strcpy(aux,"nEl entero digitado:");
  38.     fwrite(aux,strlen(aux),1,archivo);
  39.     fputc(dato,archivo);
  40.  
  41.     printf("nIntroduzca una cadena escribir en el archivo:");getc(stdin);
  42.     gets(cadena);
  43.     strcpy(aux,"nLa cadena digitada:");
  44.     fwrite(aux,strlen(aux),1,archivo);
  45.     fputs(cadena,archivo);
  46.  
  47.     fflush(archivo);
  48.     fclose(archivo);
  49.  
  50.     printf("nArchivo %s cerrado.",nombrearchivo);
  51.     printf("nPresione Enter para salir");
  52.     getch();
  53.     return(int) 1;
  54.   }
  55.   else
  56.   {
  57.     perror("nError al abrir el archivo.nPresione enter para terminar.");
  58.     getch();
  59.     return (int)0;
  60.   }
  61. }
  62.  
  63.  
Anexo el ejecutable para los que no lo puedan compilar por alguna razon.
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Pregunta sobre Archivos...
« Respuesta #5 en: Lunes 17 de Marzo de 2003, 14:05 »
0
:alien:
Anexo el mismo programa pero manejando descriptores de archivo, en caso de que alguien tenga inquietudes.

 
Código: Text
  1.  
  2. /*Trabajo con datos capturados desde teclado y archivos.
  3. **utilizando descriptores de archivo
  4. **Elaborado por Juan Carlos Ruiz Pacheco.
  5. **Compilado con el djgpp 14-03-2003
  6. **[email]juank@007mundo.com[/email]
  7. */
  8. #include<stdio.h>
  9. #include<pc.h>
  10. #include <fcntl.h>
  11. #include <sys/stat.h>
  12.      
  13. int main()
  14. {
  15.   int archivo=NULL;
  16.   char caracter=NULL;
  17.   char cadena[255],nombrearchivo[255], aux[255];
  18.   int dato=NULL;
  19.   FILE *f=NULL;
  20.  
  21.   ScreenClear();
  22.   ScreenSetCursor(0,0);
  23.   memset(cadena,'',sizeof(cadena));
  24.   memset(nombrearchivo,'',sizeof(cadena));
  25.   memset(aux,'',sizeof(cadena));
  26.  
  27.   printf("Introduzca el nombre del archivo:");
  28.   gets(nombrearchivo);
  29.  
  30.   if((archivo=open(nombrearchivo,O_RDWR|O_TEXT|O_CREAT))>=0)
  31.   {
  32.     printf("annnIntroduzca un solo caracter para escribir en el archivo:");
  33.     caracter=getchar();
  34.     strcpy(aux,"El caracter digitado:");
  35.     write(archivo,aux,strlen(aux));
  36.     write(archivo,&caracter,sizeof(caracter));getc(stdin);
  37.  
  38.     memset(aux,'',sizeof(cadena));
  39.     printf("nIntroduzca un entero para escribir en el archivo:");
  40.     scanf("%d",&dato);
  41.     strcpy(aux,"nEl entero digitado:");
  42.     write(archivo,aux,strlen(aux));getc(stdin);
  43.     write(archivo,&dato,sizeof(dato));
  44.  
  45.     printf("nIntroduzca una cadena escribir en el archivo:");
  46.     gets(cadena);
  47.     strcpy(aux,"nLa cadena digitada:");
  48.     write(archivo,aux,strlen(aux));
  49.     write(archivo,cadena,strlen(cadena));
  50.     f=fdopen(archivo,"at+");
  51.     fflush(f);
  52.     fclose(f);
  53.     close(archivo);
  54.  
  55.     printf("nArchivo %s cerrado.",nombrearchivo);
  56.     printf("nPresione Enter para salir");
  57.     getch();
  58.     return(int) 1;
  59.   }
  60.   else
  61.   {
  62.     perror("nError al abrir el archivo.nPresione enter para terminar.");
  63.     getch();
  64.     return (int)0;
  65.   }
  66. }
  67.  
  68.  
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io