#include <stdio.h>
#include <stdlib.h>
#include <zconf.h>
#define NONE "\e[0m"
#define BLUE "\e[0;34m"
#define GREEN "\e[0;32m"
#define RED "\e[0;31m"
#define PRINT_WITH_RED(fmt, ...) \
printf(RED fmt NONE, ##__VA_ARGS__);
#define PRINT_WITH_GREEN(fmt, ...) \
printf(GREEN fmt NONE, ##__VA_ARGS__);
#define PRINT_WITH_BLUE(fmt, ...) \
printf(BLUE fmt NONE, ##__VA_ARGS__);
int main()
{
int ch, iLineCount, iWordCount, iCharCount;
iLineCount = iWordCount = iCharCount = 0;
FILE *fp;
if((fp = fopen("/home/programs/clion/main.cpp", "r")) == NULL)
{
printf("can not open file\n");
exit(0);
}
while ((ch = fgetc(fp)) != EOF)
{
printf("%c ", ch);
++iCharCount;
PRINT_WITH_BLUE("char +1: %d ", iCharCount);
if (ch == '\n')
{
++iLineCount;
PRINT_WITH_RED("line +1: %d ", iLineCount);
}
if (ch == ' ' || ch == '\n' || ch == '\t')
{
PRINT_WITH_GREEN("words +1: %d ", iWordCount);
++iWordCount;
}
putchar('\n');
}
printf("line: %d, words: %d, char: %d\n", iLineCount, iWordCount, iCharCount);
fclose(fp);
return 0;
}运行结果
