用C语言编写一个从普通文本字符串中查找给定字符串(关键词)的程序。文本字符串以空字符’\0’结尾,两行之间以换行符’\x0A’分隔。要求文本字符串中跨行的字符串也要能找到。如从下列示例文本
This is an exa
mple of text str
ing with LF.
中应能找出关键词“example”和“string”。
要求找出所有重复出现的关键词,并将每次出现的位置(关键词首字符在文本字符串中的下标,首字符下标规定为0)记录在一个线性表result_list中。如从上面的示例文本中查找关键词“is”,应能找到2次,并记录位置2和5。
result_list只需选择一种标准的线性表,所用到的关于result_list的操作只需给出函数原型(要求函数命名及参数符合习惯),无需具体写出定义。
只需在白纸上分别写出如下框架中A/B/C部分的内容即可。
#include<stdio.h> // 可用printf输出错误信息
#include“list.h” // result_list 的操作函数
char*ReadText(); // 假设函数定义已存在
...// A部分:函数声明、类型定义等 char*p_keystr;
main()
{
char* p_text;
// 以下读取文本并存放在p_text指向的字符串中
p_text = (char*)malloc(GetFileLength(“data.txt”)+1);
ReadText(p_text, “data.txt”);
... // B部分:自己的主程序代码
free(p_text);
}
...// C部分:函数定义