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


Groups > comp.unix.shell > #891

Re: bdiff

From Uno <Uno@example.invalid>
Newsgroups comp.unix.shell, comp.lang.c
Subject Re: bdiff
Date 2011-06-09 02:57 -0600
Message-ID <95bg72Fjo2U1@mid.individual.net> (permalink)
References (2 earlier) <94tsbkFe3nU1@mid.individual.net> <slrniujsih.eni.hjp-usenet2@hrunkner.hjp.at> <95aup2FneqU1@mid.individual.net> <95av9fFrnrU11@mid.individual.net> <95b018FvdmU1@mid.individual.net>

Cross-posted to 2 groups.

Show all headers | View raw


On 06/08/2011 10:20 PM, Uno wrote:
> On 06/08/2011 10:08 PM, Ian Collins wrote:
>> On 06/ 9/11 03:59 PM, Uno wrote:
>>>
>>> I want to pursue this on the C side for a bit. [x-posted to clc]
>>>
>>> $ pwd
>>> /home/dan/source/bdiff-1.0
>>> $ cc -Wall -Wextra cmp1.c -o cmp
>>> cmp1.c: In function ‘main’:
>>> cmp1.c:12: warning: comparison is always true due to limited range of
>>> data type
>>> cmp1.c:17: warning: implicit declaration of function ‘close’
>>> cmp1.c:18: error: expected declaration or statement at end of input
>>> $ cat cmp1.c
>>>
>>> #include<stdio.h>
>>>
>>> int main(void)
>>> {
>>> unsigned char c;
>>> long counter = 0;
>>> FILE *fp;
>>>
>>> fp=fopen("shoulder.wmv", "rb+");
>>>
>>> while ((c = fgetc(fp)) != EOF)
>>
>> I'm guessing this is line 12. fgetc returns an int. EOF is an integer
>> constant.
>>
>>> {
>>> counter++;
>>> }
>>> printf("Counter reached %ld\n", counter);
>>> close (fp);
>>
>> You are missing <unistd.h>. If you had included it, your compile would
>> have failed. close works with a file descriptor, not a FILE*.
>>
>>> return 0;
>>
>> Missing } ?
>>
>
> Thx, Ian.
>
> $ cc -Wall -Wextra cmp2.c -o cmp
> $ ./cmp
> Counter reached 19573712
> $ ls -l
> ...
> -rw-r--r-- 1 dan dan 19573712 2011-06-05 17:32 shoulder.wmv
> $ cat cmp2.c
>
> #include <stdio.h>
>
> int main(void)
> {
> int c;
> long counter = 0;
> FILE *fp;
>
> fp=fopen("shoulder.wmv", "rb+");
>
> while ((c = fgetc(fp)) != EOF)
> {
> counter++;
> }
> printf("Counter reached %ld\n", counter);
> fclose (fp);
> return 0;
> }
> // cc -Wall -Wextra cmp2.c -o cmp
> $
>
> I guess I thought with counter starting at zero that the numbers
> wouldn't agree exactly, but they do.
>
> It's a weird night here in abq; I'm gonna go out and howl at the orange
> moon.

I'm stuck again, so that's the night.  I don't see why this wouldn't 
traverse both files for the length of the shorter one:

$ cc -Wall -Wextra cmp4.c -o cmp
cmp4.c: In function ‘main’:
cmp4.c:12: error: expected statement before ‘)’ token
$ cat cmp4.c
#include <stdio.h>

int main(void)
{
   int c, d;
   long counter = 0;
   FILE *fp, *fq;

   fp=fopen("shoulder.wmv", "rb+");
   fq=fopen("downloaded1.wmv", "rb+");

   while (((c = fgetc(fp)) != EOF) || (d = fgetc(fq)) != EOF))
    {
     counter++;
     if (counter == 10000)
        {
          printf("int is %d\n", c);
        }

     if ( c != d)
         {
             printf("Ungleich: %ld\n", counter);
         }
    }
   printf("Counter reached %ld\n", counter);
   fclose (fp);
   return 0;
   }
// cc -Wall -Wextra cmp4.c -o cmp
$

My parens are probably mismatched by now, but I don't make one statement 
on that line; I think I make two.
-- 
Uno

Back to comp.unix.shell | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

variable-length strings Uno <Uno@example.invalid> - 2011-06-01 03:36 -0600
  Re: variable-length strings ccc31807 <cartercc@gmail.com> - 2011-06-01 07:13 -0700
    Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-02 10:54 -0600
  Re: variable-length strings "George Mpouras" <nospam.gravitalsun@hotmail.com.nospam> - 2011-06-01 17:01 +0300
  Re: variable-length strings "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-02 15:33 +0200
  Re: variable-length strings "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-02 15:44 +0200
    Re: variable-length strings Willem <willem@toad.stack.nl> - 2011-06-02 14:19 +0000
      cmp (was: variable-length strings) "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-02 18:15 +0200
      Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-03 23:21 -0600
        Re: variable-length strings "David W. Hodgins" <dwhodgins@nomail.afraid.org> - 2011-06-04 02:43 -0400
    Re: variable-length strings bonomi@host122.r-bonomi.com (Robert Bonomi) - 2011-06-03 11:08 -0500
      Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-04 00:03 -0600
        Re: variable-length strings pacman@kosh.dhis.org (Alan Curry) - 2011-06-04 20:18 +0000
          Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-07 23:00 -0600
      cmp (was: variable-length strings) "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-04 10:29 +0200
        Re: cmp Uno <Uno@example.invalid> - 2011-06-07 22:38 -0600
          Re: cmp pacman@kosh.dhis.org (Alan Curry) - 2011-06-08 05:22 +0000
            Re: cmp Uno <Uno@example.invalid> - 2011-06-09 16:10 -0600
    Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-03 22:58 -0600
      bdiff (was: variable-length strings) "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-04 10:52 +0200
        Re: bdiff Uno <Uno@example.invalid> - 2011-06-08 21:59 -0600
          Re: bdiff Ian Collins <ian-news@hotmail.com> - 2011-06-09 16:08 +1200
            Re: bdiff Uno <Uno@example.invalid> - 2011-06-08 22:20 -0600
              Re: bdiff Uno <Uno@example.invalid> - 2011-06-09 02:57 -0600
                Re: bdiff Janis Papanagnou <janis_papanagnou@hotmail.com> - 2011-06-09 11:10 +0200
                Re: bdiff bonomi@host122.r-bonomi.com (Robert Bonomi) - 2011-06-19 06:10 -0500
          Re: bdiff Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-09 07:13 -0400
            Re: bdiff Uno <Uno@example.invalid> - 2011-06-09 13:30 -0600
    Re: variable-length strings Uno <Uno@example.invalid> - 2011-06-03 23:11 -0600
      Re: variable-length strings "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2011-06-04 10:55 +0200

csiph-web