字符串的查找和替换,要求用c语言编写,最好发到我的邮箱mhdwl1987@126.com

来源:百度知道 编辑:UC知道 时间:2024/04/28 15:13:01
打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。

/* Filename: word-replace.c
* Last Modified: 2009-01-08 20:21:55
* Description: 替换文件中指定的单词为其他字符串并输出到指定的文件中
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define MAX_WORDS_LEN 50 // 单词的最大长度限制

typedef enum { FALSE = 0, TRUE = 1 } BOOL;

struct Word {
char str[MAX_WORDS_LEN + 1]; // 存储字符串
BOOL isWord; // 是否为单词
};

typedef struct Node { // 使用链表存储解析后的字符串
struct Word word;
struct Node *next;
} *List;

enum Option { // 单词替换选项
MATCH_WORD_CASE, // 精确匹配单词区分大小写
MATCH_WORD_NOCASE, // 匹配单词但不区分大小写
};

// 函数功能:出错处理方法,打印出错信息并退出程序
void complain(const char *msg)
{
printf("%s\n", msg);
exit(EXIT_FAILURE);
}

// 函数功能:将结构体单词 w 插入不带头节点的单向不循环链表 L 的末尾