第15.3 小节代码 文本格式化
//This is a comment
//Author:King
//Time:2020/12/9
//Reference:C Programming:A Modern Approach,Second Edition
/*******************************************************************************
15.3 小节代码 文本格式化,把输入的一段布局混乱的文字格式化为布局美观的文本,
书上源代码是把代码拆分为几个.c文件和.h头文件,本代码直接合并为一个.c文件便于分析
学习,由于书上采用从文件读取文字(有EOF结尾标志),本程序代码直接从运行窗口输入文字,
如果输入完成在文字结尾加上字符q,再按回车键程序即可正确运行。当然还有其他办法作为
判断条件,大家可以尝试下。
********************************************************************************/
#include <stdio.h>
#include <string.h>
//#include <stdbool.h> // C99 only
//#include <time.h>
//#include <stdlib.h>
#define MAX_WORD_LEN 20 //单词的最长长度
#define MAX_LINE_LEN 60 //格式化后一行最多字符数
int line_len = 0; //当前行缓冲区的字符数量
int num_words = 0; //当前行缓冲区的单词数量
char line[MAX_LINE_LEN + 1]; //行缓冲区数组
/* 函数声明*/
int read_char(void); //读入字符到int变量
int read_word(char *word, int len); //读入单词到数组
int space_remaining(void); //计算行缓冲区剩余空间
void add_word(const char *word); //往行缓冲区添加单词
void write_line(void); //输出行缓冲区的内容,有调整格式
void flush_line(void); <