增强版本的程序需求
效果演示
please input word:abandon
find 2 trans:
--------------------------------------
1vt. 放弃;沉溺
2n. 放任
--------------------------------------
程序结构体设计
typedef struct
{
char *key;
char **trans;
unsigned int count;
}word_t;
程序的内存结构
代码经验分享
isspace可能会造成程序崩溃
有些平台的isspace以及isdigit等函数只能判断ASCII码的范围,所以在中国大陆就只能呵呵了。这算那些库代码作者的歧视吗?
strtok函数
详细读一遍 strtok的cplusplus文档。
- 函数参数和功能
分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
返回值
从s开头开始的一个个被分割的串。当s中的字符查找到末尾时,返回NULL。如果查找不到delim中的字符时,返回当前strtok的字符串的指针。 所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
注意点
strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。 如果只是需要判断字符串中某些字符 出现的XXX 可以考虑使用strstr、strchr等可重入函数。