Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #126736

Re: Text Files

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Text Files
Date 2018-02-15 16:05 +0000
Organization A noiseless patient Spider
Message-ID <87fu628cib.fsf@bsb.me.uk> (permalink)
References <5a8459d1$0$707$14726298@news.sunsite.dk> <p648nf02rlq@news2.newsguy.com>

Show all headers | View raw


"F. Russell" <fr@random.info> writes:

> On Wed, 14 Feb 2018 11:47:00 -0400, G B wrote:
>
>> what is the best way to read numbers 
>> line by line and do some tests on numbers for that line before moving to 
>> the next line?  for example the text file might be:
>> 
>> 07    23    36    52    53    57
>
> The best way is NOT to read the file line by line.  The I/O
> overhead is a problem.

How do you know that?

> Read the entire file into memory and then process.

As you have sketched it, this method has it's own problems.  The one I'd
be most concerned about is that you can't pipe data to it.  I often find
I want to write program to generate or filter or otherwise pre-process
the data and going through a file every time is a pain.

If you are doing the sort of investigative data analysis that I often
find myself doing, you want a flexible, pluggable set of tools.

> Here is just a program fragment:
>
> char *buffer;
> long file_size;
>
> FILE *fd = fopen(argv[1], "rb");
> fseek(fd, 0, SEEK_END);
> file_size = ftell(fd);
> rewind(fd);
> buffer=malloc(file_size *(sizeof(char)));

sizeof (char) is guaranteed to be 1.  It's not wrong to use it, of
course, but I always wonder about why the author put it there and that
slows me down a bit.

I'd add one to the size and then null-terminate the array so as to have
the file contents as a string.  You've got the probable size, so you
don't need to, but it makes the processing loop easier if it's a string.

> fread(buffer, sizeof(char), file_size, fd);
> fclose(fd);
>
> Now you can step through the buffer and process
> the numbers.

Since the file was read as binary data, you will have to manage the
line endings yourself if the program is intended to be portable.  It's
likely this one isn't, and also likely that differences in line endings
can be ignored, so this is not a big problem.

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Text Files G B <gb@gb.com> - 2018-02-14 11:47 -0400
  Re: Text Files Ed Prochak <edprochak@gmail.com> - 2018-02-14 08:45 -0800
  Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-14 08:47 -0800
    Re: Text Files already5chosen@yahoo.com - 2018-02-15 01:17 -0800
  Re: Text Files gordonb.ea2mq@burditt.org (Gordon Burditt) - 2018-02-14 11:10 -0600
  Re: Text Files "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-14 12:28 -0500
  Re: Text Files jt@toerring.de (Jens Thoms Toerring) - 2018-02-14 21:07 +0000
  Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-14 15:31 -0700
    Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-15 06:59 +0000
      Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 10:20 +0000
  Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-14 22:51 +0000
    Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-15 11:04 +0100
      Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-15 06:16 -0800
        Re: Text Files "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2018-02-15 22:22 +0800
        Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-15 15:58 +0100
          Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 16:31 +0000
            Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-15 21:31 +0100
              Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 21:21 +0000
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 22:17 +0000
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 23:36 +0000
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 23:48 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 10:09 +0100
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 12:57 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 15:50 +0100
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 15:50 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 17:07 +0100
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 20:44 +0000
                Re: Text Files Ian Collins <ian-news@hotmail.com> - 2018-02-17 11:22 +1300
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 17:48 +0000
                Re: Text Files GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-16 17:06 +0100
                Re: Text Files Ian Collins <ian-news@hotmail.com> - 2018-02-17 11:10 +1300
                Re: Text Files supercat@casperkitty.com - 2018-02-16 14:48 -0800
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-16 15:14 -0800
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 23:25 +0000
                Re: Text Files supercat@casperkitty.com - 2018-02-16 15:50 -0800
          Re: Text Files already5chosen@yahoo.com - 2018-02-16 07:19 -0800
            Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 17:13 +0100
              Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-19 17:55 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-19 19:14 +0100
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-19 11:48 -0800
            Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-16 08:14 -0800
              Re: Text Files Robert Wessel <robertwessel2@yahoo.com> - 2018-02-17 18:32 -0600
    Re: Text Files jacobnavia <jacob@jacob.remcomp.fr> - 2018-02-15 22:57 +0100
      Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 22:58 +0000
        Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 00:19 +0000
          Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 02:26 +0000
            Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 02:57 +0000
              Re: Text Files asetofsymbols@gmail.com - 2018-02-16 00:21 -0800
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 11:30 +0000
          Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 10:36 +0100
            Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 11:36 +0000
              Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 13:10 +0100
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 12:25 +0000
                Re: Text Files Ike Naar <ike@iceland.freeshell.org> - 2018-03-06 19:33 +0000
                Re: Text Files bartc <bc@freeuk.com> - 2018-03-06 20:55 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-16 04:42 -0800
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 16:58 +0100
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 20:02 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 21:43 +0100
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-17 04:01 -0800
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-17 13:10 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-17 05:27 -0800
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-17 14:20 +0000
                Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-16 09:04 -0700
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 14:31 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-16 06:42 -0800
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-16 14:58 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-16 07:23 -0800
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-16 15:24 +0000
              Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-16 04:13 -0800
                Re: Text Files Siri Cruise <chine.bleu@yahoo.com> - 2018-02-16 04:29 -0800
                Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 16:41 +0000
                Re: Text Files Siri Cruise <chine.bleu@yahoo.com> - 2018-02-20 09:39 -0800
                Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 19:16 +0000
  Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 12:46 +0000
    Re: Text Files GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-15 14:52 +0100
    Re: Text Files Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-15 17:07 +0300
      Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 14:23 +0000
        Re: Text Files Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-15 18:52 +0300
    Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 14:39 +0000
      Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 15:43 +0000
        Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 20:32 +0000
          Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 22:06 +0000
            Re: Text Files GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-15 23:12 +0100
            Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-15 15:12 -0800
              Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 23:43 +0000
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 23:54 +0000
            Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 23:35 +0000
          Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-16 17:07 -0800
            Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-17 02:38 +0000
              Re: Text Files Ian Collins <ian-news@hotmail.com> - 2018-02-17 17:26 +1300
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-17 11:22 +0000
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-17 12:07 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-17 04:17 -0800
                Re: Text Files Anton Shepelev <anton.txt@gmail.com> - 2018-02-17 16:25 +0300
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-17 07:35 -0800
                Re: Text Files GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-17 15:24 +0100
                Re: Text Files Ian Collins <ian-news@hotmail.com> - 2018-02-18 11:10 +1300
              Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-19 12:05 -0800
                Re: Text Files already5chosen@yahoo.com - 2018-02-19 15:32 -0800
                Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 10:34 -0800
                Re: Text Files already5chosen@yahoo.com - 2018-02-21 15:35 -0800
                Re: Text Files bartc <bc@freeuk.com> - 2018-02-22 00:11 +0000
                Re: Text Files Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 18:26 -0600
                Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 21:39 -0800
                Re: Text Files Robert Wessel <robertwessel2@yahoo.com> - 2018-02-23 03:08 -0600
                Re: Text Files supercat@casperkitty.com - 2018-02-23 16:16 -0800
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-23 16:46 -0800
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-24 02:49 -0800
                Re: Text Files asetofsymbols@gmail.com - 2018-02-24 05:16 -0800
                Re: Text Files "F. Russell" <fr@random.info> - 2018-02-24 14:35 +0000
                Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-24 08:48 -0700
                Re: Text Files supercat@casperkitty.com - 2018-02-25 15:09 -0800
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-25 15:54 -0800
                Re: Text Files supercat@casperkitty.com - 2018-02-26 11:04 -0800
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-26 11:52 -0800
                Re: Text Files supercat@casperkitty.com - 2018-02-26 14:12 -0800
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-26 14:40 -0800
                Re: Text Files already5chosen@yahoo.com - 2018-02-22 04:58 -0800
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-22 05:33 -0800
                Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-22 13:59 +0000
                Re: Text Files Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-22 07:24 -0800
              Re: Text Files supercat@casperkitty.com - 2018-02-20 12:14 -0800
        Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-15 21:37 +0100
          Re: Text Files bartc <bc@freeuk.com> - 2018-02-15 21:34 +0000
            Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-15 14:15 -0800
            Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-16 10:47 +0100
  Re: Text Files "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2018-02-15 22:20 +0800
  Re: Text Files "F. Russell" <fr@random.info> - 2018-02-15 15:24 +0000
    Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-15 16:05 +0000
    Re: Text Files "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2018-02-16 00:22 +0800
    Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-15 13:35 -0700
  Re: Text Files Anton Shepelev <anton.txt@gmail.com> - 2018-02-25 00:13 +0300
    Re: Text Files bartc <bc@freeuk.com> - 2018-02-24 21:24 +0000
      Re: Text Files Anton Shepelev <anton.txt@gmail.com> - 2018-02-25 14:55 +0300
        Re: Text Files bartc <bc@freeuk.com> - 2018-02-25 13:00 +0000
    Re: Text Files Real Troll <Real.Troll@Trolls.com> - 2018-02-24 17:35 -0400
    Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-24 21:36 +0000
      Re: Text Files Real Troll <Real.Troll@Trolls.com> - 2018-02-24 17:45 -0400
      Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-24 22:51 +0000
        Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-24 23:56 +0000
          Re: Text Files bartc <bc@freeuk.com> - 2018-02-25 00:14 +0000
            Re: Text Files bartc <bc@freeuk.com> - 2018-02-25 00:22 +0000
            Re: Text Files Anton Shepelev <anton.txt@gmail.com> - 2018-02-25 15:16 +0300
              Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-25 15:20 -0800
                Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-25 20:27 -0700
                Re: Text Files gazelle@shell.xmission.com (Kenny McCormack) - 2018-02-26 06:19 +0000
                Re: Text Files Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-26 15:35 +0300
                Re: Text Files Reinhardt Behm <rbehm@hushmail.com> - 2018-02-26 20:53 +0800
                Grammar Patrol (Was: Text Files) gazelle@shell.xmission.com (Kenny McCormack) - 2018-02-26 17:54 +0000
                Re: Text Files Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-26 15:27 +0000
                Re: Text Files Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-26 18:50 +0300
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-26 09:26 -0800
                Re: Text Files scott@slp53.sl.home (Scott Lurndal) - 2018-02-26 19:46 +0000
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-27 09:04 +0100
                Re: Text Files already5chosen@yahoo.com - 2018-02-27 00:56 -0800
                Re: Text Files Ian Collins <ian-news@hotmail.com> - 2018-02-27 22:07 +1300
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-27 14:37 +0100
                Re: Text Files already5chosen@yahoo.com - 2018-02-27 07:38 -0800
                Re: Text Files supercat@casperkitty.com - 2018-02-27 09:18 -0800
                Re: Text Files David Brown <david.brown@hesbynett.no> - 2018-02-27 10:15 +0100
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-27 08:53 -0800
                Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 23:14 -0800
                Re: Text Files Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-26 08:32 -0700
                Re: Text Files Keith Thompson <kst-u@mib.org> - 2018-02-26 09:17 -0800
                Re: Text Files Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:55 -0800
      Re: Text Files Anton Shepelev <anton.txt@gmail.com> - 2018-02-25 15:02 +0300
        Re: Text Files Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-25 20:12 +0000

csiph-web