mirror of
https://github.com/kangjianwei/Data-Structure.git
synced 2026-08-19 01:32:24 +08:00
78 lines
1.7 KiB
C
78 lines
1.7 KiB
C
/*
|
|
* 注:
|
|
* 本次修订的目的包括降低耦合,争取每个模块都可以单独运行
|
|
* 但是Status这个模块会被所有其他模块引用,引用次数很多。
|
|
* 如果直接将Status模块复制到其它模块中,则会导致太多重复代码,
|
|
* 因此这里生成一个公共静态库让其它模块共享比较划算
|
|
*/
|
|
|
|
#ifndef STATUS_H
|
|
#define STATUS_H
|
|
|
|
#include <stdio.h>
|
|
|
|
/* 状态码 */
|
|
#define TRUE 1 // 真/是
|
|
#define FALSE 0 // 假/否
|
|
#define OK 1 // 通过/成功
|
|
#define ERROR 0 // 错误/失败
|
|
|
|
//系统中已有此状态码定义,要防止冲突
|
|
#ifndef OVERFLOW
|
|
#define OVERFLOW -2 //堆栈上溢
|
|
#endif
|
|
|
|
//系统中已有此状态码定义,要防止冲突
|
|
#ifndef NULL
|
|
#define NULL ((void*)0)
|
|
#endif
|
|
|
|
/* 状态码类型 */
|
|
typedef int Status;
|
|
|
|
/* 布尔类型 */
|
|
typedef int Boolean;
|
|
|
|
|
|
/* 全局变量*/
|
|
extern Boolean debug; // 是否使用debug模式
|
|
|
|
|
|
/*
|
|
* 从文件中读取预设的英文符号
|
|
*
|
|
* 这是自定义的数据录入函数,用于从文件fp中读取格式化的输入,
|
|
* 与fscanf的不同之处在于此函数只会读取英文字符,对于中文字符,则直接跳过。
|
|
*
|
|
* 注:
|
|
* 1. 这里约定所有格式串为简单形式,如:%d%c%s等,而不是%2d%5s等
|
|
* 2. 读取字符串时,遇到空格或非打印字符会停止读取
|
|
*/
|
|
int ReadData(FILE* fp, char* format, ...);
|
|
|
|
/*
|
|
* 摁下回车键以继续运行。
|
|
*
|
|
* 通常在测试阶段时,需要让每一步测试都暂停下来,以观察其输出,此时可以让debug=TRUE。
|
|
* 在发布时,可以让debug=FALSE,此时各个测试块将不会暂停。
|
|
*/
|
|
void PressEnterToContinue(Boolean debug);
|
|
|
|
/*
|
|
* 函数暂停一段时间。
|
|
*
|
|
* time不代表具体的时间,只是代表一段时间间隔,
|
|
* 通过调节time的大小,可以使程序暂停适当的时间后继续运行。
|
|
*/
|
|
void Wait(long time);
|
|
|
|
/*
|
|
* 跳过空白,寻找下一个"可读"符号。
|
|
*
|
|
* 此方法常用在读取字符的语句之前,这会跳过遇到目标字符之前的空白符号,
|
|
* 比如跳过'\r'、'\n'、'\r\n'、' '、'\t'、'\f'。
|
|
*/
|
|
void skipBlank(FILE* fp);
|
|
|
|
#endif
|