Author: James Robertson
Date: 01:22:52 09/14/99
Go up one level in this thread
On September 13, 1999 at 21:02:30, Dann Corbit wrote:
Thanks, the program on your site worked perfectly.
James
>On September 13, 1999 at 20:01:45, James Robertson wrote:
>>I have tried extract, and it chokes on large files. If you could send me the c
>>utility, I would be happy with that.
>?
>I have run extract on 2 gig files! Never seen a problem. Try the one on my ftp
>site, maybe. It's a 32 bit binary.
>
>This program assumes that your PGN follows some of the PGN rules (a dangerous
>assumption at times!). You will get files from 60-100K on average with 3000
>line limit.
>
>#include <stdlib.h>
>#include <string.h>
>#include <stdio.h>
>FILE *newfile(void);
>char pgn[32000];
>char line[1000];
>static int fcount = 0;
>static const limit = 3000; /* change this for bigger/smaller */
>int
>main(void)
>{
> int last_was_space = 0;
> int count = 0;
> FILE *fout = NULL;
>
> fout = newfile();
> while (fgets(line, sizeof line, stdin) != 0) {
> if (line[0] == '[') {
> if (last_was_space) {
> if (count >= limit) {
> count = 0;
> fflush(fout);
> fclose(fout);
> fout = newfile();
> }
> last_was_space = 0;
> }
> } else
> last_was_space = 1;
> count++;
> fputs(line, fout);
> }
> return 0;
>}
>FILE *
>newfile()
>{
> char fname[FILENAME_MAX + 1];
> sprintf(fname, "PGN%d.pgn", fcount++);
> return fopen(fname, "w");
>}
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.