lsflib/src/tokenchar.c
author Markus Brökers <mbroeker@largo.homelinux.org>
Mon, 30 Aug 2010 15:21:47 +0200
changeset 146 0ffa20c26b2d
parent 77 49e0babccb23
permissions -rw-r--r--
gauss.c: set a proper accuracy value: 1E-6

/**
 * lsflib/src/tokenchar.c
 * Copyright (C) 2008 Markus Broeker
 */

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <ctype.h>
#include <string.h>

#define MAXCHARS 80

int tokenchar (FILE * f)
{
    char line[MAXCHARS];

    int i;
    int lines;
    int chars;

    lines = chars = 0;
    *line = 0;

    while ((fgets (line, MAXCHARS, f)) != NULL) {
        for (i = 0; i < strlen (line); i++) {
            switch (line[i]) {
            case '.':
                printf ("%c\n", line[i]);
                lines++;
                break;

            case '?':
                printf ("%c\n", line[i]);
                lines++;
                break;

            case '\n':
                lines++;
                break;

            case '\t':
                break;

            default:
                printf ("UNKNOWN CHAR: %c\n", line[i]);
                chars++;
                break;
            }
        }
        *line = 0;
    }

    rewind (f);
    return chars;
}