• Sábado 14 de Diciembre de 2024, 16:01

Autor Tema:  Se Puede Convertir Un File A Cadena??  (Leído 1083 veces)

josegm13

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Se Puede Convertir Un File A Cadena??
« en: Domingo 14 de Octubre de 2007, 22:56 »
0
#include<iostream.h>
#include<stdio.h>
#include<ctype.h>
#include<string.h>

void main(void)
{
   FILE *F;
   char c;
   
//rutina de apertura
F=fopen("D:/fuente.txt","r");

if (F==NULL)
{
printf("no se puede abrir el archivo \n");
exit(1);
}

while(!feof(F))
{

c=fgetc(F);
cout<<c;

}

}



/*hola.. tengo este codigo, quisiera saber si a F del programa se puede pasar a una cadena de caracteres?como se haria?? gracias
Jose G.

M4donna!

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Se Puede Convertir Un File A Cadena??
« Respuesta #1 en: Martes 16 de Octubre de 2007, 00:08 »
0
h ttp://www.phon.ucl.ac.uk/courses/spsci/abc/lesson11.htm

en esa pagina muestra como podes hacer q un programa pida parametros

de esa forma podrias asignarle tu "cadena" ..

la implementacion queda en vos.

Slds.
--> Theres nothing like 127.0.0.1 <--

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Se Puede Convertir Un File A Cadena??
« Respuesta #2 en: Miércoles 17 de Octubre de 2007, 19:12 »
0
creo que lo que realmente quiere es leer un fichero entero en un buffer

para ello lo mas simple:

char * LeeUnFichero(char * fname)
{
FILE * f=fopen(fname,"rb");

if (f==NULL) //malamente!
  return NULL;

fseek(f,0,SEEK_END); //movemos el pointer al final

long size=ftell(f); //tenemos el tamaño al leer la posicion del pòinter

fseek(f,0,SEEK_SET); //volvemos al principio

char * buffer=(char*)malloc(size*sizeof(char));

if (buffer==NULL) //no memory!!
return NULL;

fread(buffer,sizeof(char),size,f); //leo x bytes del file en buffer

fclose(f); //cerramos

return buffer;
}

esta funcion le pasas un nombre de fichero y lo abre y te devuelve el contenido en un buffer.