Article View: es.comp.os.linux.programacion
Article #6325Re: Programa en C para leer un fichero. Necesito ideas
From: Piojo
Date: Wed, 16 Jul 2003 13:24
Date: Wed, 16 Jul 2003 13:24
26 lines
2242 bytes
2242 bytes
> Y la pregunta es, �como se dimensiona el espacio en memoria para > contener todo esto? El n�mero de l�neas y de valores por l�nea es > desconocido a priori y arbitrario. > Tienes dos opciones: - Listas enlazadas (la m�s sencilla de implementar, y la que minimizar� la memoria desperdiciada). - Arrays que, una vez llenos, redimensiones (con realloc). Esta opci�n es m�s engorrosa. Util�zala si necesitas b�squedas r�pidas o poder reordenar los datos. Si el acceso va a ser siempre secuencial, qu�date con la opci�n anterior. Un par de consejillos m�s: Lee las l�neas enteras (o casi), usando fgets. as� podr�s saber cu�ndo llegas al final del fichero, cu�ndo la l�nea es extremadamente larga, y cu�ndo has llegado al final de la misma. Nada de (x)scanf. Por razones de seguridad y porque es m�s dif�cil localizar las nuevas l�neas. Y parsea los n�meros con strtol (si las entradas son siempre n�meros enteros) o strtod (si las entradas pueden ser n�meros con parte no entera). Con esto, adem�s de que el recorrido de la l�nea es trivial, consigues detectar errores en el formato del fichero. Saludos.
Technical Details
Message-ID:
<bf3jlo$9ee$1@news.ya.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!in.100proofnews.com!in.100proofnews.com!nsnmrro1-lo.nuria.telefonica-data.net!nsnmpen1-lo.nuria.telefonica-data.net!news.ya.com!yacom!not-for-mailReferences:
<86isqbiqb5.fsf@escomposlinux.org>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,3124d921db375d13 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-07-16 06:25:01 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!in.100proofnews.com!in.100proofnews.com!nsnmrro1-lo.nuria.telefonica-data.net!nsnmpen1-lo.nuria.telefonica-data.net!news.ya.com!yacom!not-for-mail From: Piojo <piojolinux@ya.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: Programa en C para leer un fichero. Necesito ideas Date: Wed, 16 Jul 2003 15:24:03 +0200 Organization: ya.com internet factory Lines: 26 Message-ID: <bf3jlo$9ee$1@news.ya.com> References: <86isqbiqb5.fsf@escomposlinux.org> NNTP-Posting-Host: 80-25-211-52.adsl.ya.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8Bit X-Trace: news.ya.com 1058361848 9678 80.25.211.52 (16 Jul 2003 13:24:08 GMT) X-Complaints-To: newsmaster@ya.com NNTP-Posting-Date: Wed, 16 Jul 2003 13:24:08 +0000 (UTC) User-Agent: KNode/0.7.2