home *** CD-ROM | disk | FTP | other *** search
- /* This little program removes all double lines from a sorted file */
- /* Author : Jorrit Tyberghein Wed Jul 3 17:35:18 1991 */
-
- #include <stdio.h>
-
- main (int argc, char *argv[])
- {
- FILE *in,*out;
- char buf1[1024],buf2[1024];
- char *curbuf,*prevbuf,*swap;
-
- if (argc != 3)
- {
- printf ("Usage : canceldouble <inputfile> <outputfile>\n");
- exit (0);
- }
-
- if (!(in = fopen (argv[1],"r")))
- {
- printf ("Error opening file %s for reading !\n",argv[1]);
- exit (5);
- }
-
- if (!(out = fopen (argv[2],"w")))
- {
- printf ("Error opening file %s for writing !\n",argv[2]);
- fclose (in);
- exit (5);
- }
-
- curbuf = buf1;
- prevbuf = buf2;
-
- prevbuf[0] = 0;
-
- while (fgets (curbuf,1023,in))
- {
- curbuf[1023] = 0;
- if (strcmp (curbuf,prevbuf))
- {
- /* Previous line is different from current line */
- fputs (curbuf,out);
-
- /* Swap the two buffers */
- swap = curbuf;
- curbuf = prevbuf;
- prevbuf = swap;
- }
- }
-
- fclose (in);
- fclose (out);
- }
-