From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: comp.lang.ada Subject: Re: Re-write a file in Ada Date: Mon, 18 Jan 2016 18:49:06 +0100 Organization: A noiseless patient Spider Message-ID: References: <77e47c8b-7dcc-4e86-8f89-1f348cdf08dd@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 18 Jan 2016 17:46:22 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="4b65c1fa52084bd61f69832f00851db8"; logging-data="10848"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18J54Otb+8f18a0MGKSu03E" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 In-Reply-To: Cancel-Lock: sha1:0XLG2qmBbYQutlofUjYhzMPMbCI= Xref: news.eternal-september.org comp.lang.ada:29152 Date: 2016-01-18T18:49:06+01:00 List-Id: Le 18/01/2016 18:25, comicfanzine@gmail.com a écrit : > In conclusion , i better use another way . > > Feel free to propose anything else , if you have a idea . > You must realize that in most operating systems, a file has no notion of "line". A file is a heap of bytes, some of which are conventionnally used to represent line ends. As a consequence, there is no way of knowing the number of lines in a file without reading the whole file. This is an OS issue, not a programming language issue. If you don't mind reading the file twice, you can first count lines by calling Skip_Line (and counting) until you hit the end of file. Then you can declare your array, call Reset to rewind the file, and process the file as you want. HTH -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00 http://www.adalog.fr