Foros del Web » Programación para mayores de 30 ;) » Programación General »

LEnguaje de Programacion D

Estas en el tema de LEnguaje de Programacion D en el foro de Programación General en Foros del Web. Hola, me preguntaba si me podian ayudar con la lectura d eun archivo en D char * linea; FILE * archivo; // creo la variable ...
  #1 (permalink)  
Antiguo 06/12/2008, 13:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 129
Antigüedad: 17 años, 8 meses
Puntos: 0
LEnguaje de Programacion D

Hola, me preguntaba si me podian ayudar con la lectura d eun archivo en D
char * linea;
FILE * archivo; // creo la variable archivo
archivo=fopen("archivo.txt","r+"); // abro el archivo
linea=fgets(linea,40, archivo); // intento leer una linea y al escribir
printf ("Linea 1 tiene: %d",linea); da null
fclose(archivo);


QUE SERA QUE ESTOY HACIENDO MAL?
__________________
Software Analyst and developer
http://ebalestrini.com
  #2 (permalink)  
Antiguo 06/12/2008, 15:30
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: LEnguaje de Programacion D

Me da la impresión de que lo que haces mal es intentar hacer las cosas como se hacen en C, en lugar de hacerlas como se hacen en D.

Me explico. Estás utilizando FILE, fopen y fgets que pertenecen a std.c.stdio que básicamente está ahí por compatibilidad. Pero lo suyo es que si quieres hacerlo bien, utilices las librerías de D. O bien std.file o bien tango.io.File. Yo personalmente te recomendaría tango.io.File
  #3 (permalink)  
Antiguo 07/12/2008, 14:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 129
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: LEnguaje de Programacion D

pero es que encuentro muy poca informacion acerda de laslibrerias std.file ytango menos... conoces de alguna fuente donde pueda aparecer ? por favor!
__________________
Software Analyst and developer
http://ebalestrini.com
  #4 (permalink)  
Antiguo 07/12/2008, 15:21
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: LEnguaje de Programacion D

Lo básico es:
Código d:
Ver original
  1. import tango.io.File;
  2.  
  3. auto fichero = new File("archivo.txt");
  4. auto contenido = fichero.read; // Esto lee el fichero entero

Para leer por líneas puedes hacer:
Código d:
Ver original
  1. import tango.io.File;
  2. import Text = tango.text.Util;
  3.  
  4. auto fichero = new File("archivo.txt");
  5. auto contenido = cast(char[]) fichero.read;
  6.  
  7. auto lineas = Text.splitlines(contenido);

O bien usar un foreach:
Código d:
Ver original
  1. import tango.io.File;
  2. import Text = tango.text.Util;
  3.  
  4. auto fichero = new File("archivo.txt");
  5. auto contenido = cast(char[]) fichero.read;
  6.  
  7. foreach (linea; Text.lines(contenido)) {
  8.     Cout (linea).newline;
  9. }


Documentación sé que no hay demasiada, pero la página de Tango tiene unos cuantos ejemplos y tutoriales. De hecho, mira, aquí tienes otra forma de leer línea a línea un fichero, usando FileConduit y LineIterator.
  #5 (permalink)  
Antiguo 28/03/2011, 18:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: LEnguaje de Programacion D

Hola. Como puedo leer e incrementar una variable entera en lenguaje d???
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 14:20.