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


Groups > comp.lang.c > #126695

Re: Text Files

From gordonb.ea2mq@burditt.org (Gordon Burditt)
Subject Re: Text Files
Newsgroups comp.lang.c
References <5a8459d1$0$707$14726298@news.sunsite.dk>
Message-ID <FKKdnUCJaNPj8BnHnZ2dnUU7-RvNnZ2d@posted.internetamerica> (permalink)
Date 2018-02-14 11:10 -0600

Show all headers | View raw


> If you have a text file of numbers, 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
> 02    04    09    15    25    51
> 02    03    11    14    18    21
> 22    22    23    28    33    54
> 16    19    26    48    58    58
> 04    28    42    48    56    57
> 05    13    18    21    45    46
> 05    22    23    29    31    58
> 01    03    07    14    16    55
> 06    09    40    43    46    48

Lottery numbers, sorted to be in increasing order?  Maybe not, you've
got duplicate numbers in there.  Most lotteries won't have duplicates.

> I want to read numbers: a, b, c, d, e, f and do some tests on it and 
> then go to the next line and do the same.

If you can come up with a reasonable maximum input line length,
something like this would work:

#define I_HOPE_THIS_IS_BIG_ENOUGH 1024
/* Since the example test data has a maximum of 35 characters per line */
/* including the \n and \0, 1024 should be plenty */
    char	buffer[I_HOPE_THIS_IS_BIG_ENOUGH];
    int		a,b,c,d,e,f;

    while(fgets(buffer, sizeof(buffer), stdin) != EOF) {
        if (sscanf(buffer, "%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) != 6) {
                ... error, some numbers missing ...;
	    } else {
                ... You got all the numbers, do something with them ...;
	    }
	}

Some people are not going to like this because it doesn't handle
the case of an overly-long line properly, nor does it handle numbers
larger in magnitude than what the type you select will hold.
(Checking the number after conversion won't catch the problem.)
However, it will NOT overflow buffers and it does detect missing
numbers (but not extra numbers) on a line.  If there is an overly
long line which gets split, then one or both pieces will have at
least one missing number, unless there were extras on the long line.

If you're willing to accept restrictions on the data input (including
line length and the range of values that can be input), and that
you'll get garbage if you violate the rules, then this will work.
If you want every error caught, it's harder.

If you really want to check each number for overflow and illegal
characters, you can parse the line yourself once you have it in
buffer, or you could use strtol() and the pointer it provides 
to what's after the number..

Unlike scanf() or fscanf(), it won't handle a missing number by
using one from the next line, thereby getting out of sync for the
rest of the file (which from the description of the problem, I
expect that would be more making things worse than solving
a problem).


> In some languages, it was possible to do something like this:
> 
> While Not EOF (Infile) Do
> Begin
>     ReadLn (InFile, a, b, c, d, e, f);
>     // Write test code here
> End;

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