介绍
使用C语言怎么实现一个模糊搜索功能吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
//模糊搜索判断是否符合筛选条件 int result_mohu (const gchar *,钥匙,char *, str) { ,typedef 结构 {才能 ,,,char 儿子[11]; ,,}元素; int 才能;i, j, k=0, l=0, m=0;//f=1才能为符合筛选条件 int 才能;f=0; ,//N1为str的长度,N2为str连续子串的个数 ,int N1=0, N2=0; ,N1=strlen (str); ,/*计算连续子串的个数*/,(i=1; i<=N1;我+ +) N2 +=我才能;/*才能计算连续子串的个数*///我才能控制子字符串的长度//j才能控制赋值//k才能控制新的线性结构b的下标//l才能控制子数组的首项在原数组中的位置//m才能控制即将用作赋值的str的下标 Element 才能;* b=malloc (sizeof(元素)* N2); ,,(i=1; i<=N1;我+ +) {才能 ,,,l=0; ,,,/*而循环内为给一个子字符串数组赋值*/,,,,(1) ,,,,,{ ,,,,,m=l; ,,,,,,(j=0; j若返回值f=1则表示符合筛选条件,即查询对象含有包含关键词的片段。最为关键的循环就是按照子字符串的长度从1到N1(查询对象字符串的长度)。
以下片段为遍历代码,可看可不看,核心算法都在上面。注:博主实现模糊搜索的环境是linux系统下的gtk开发。
//按学号查找界面的& lt;查找比; void on_button_idsearch_clicked (GtkObject *,部件,gpointer user_data) { ,int 我; ,int f=0; ,GtkTreeIter iter; ,//获取搜索关键字 ,const gchar *, keywords =, gtk_entry_get_text (entry_search_id); ,gtk_list_store_clear (liststore2); ,(i=0; i< size1;我+ +) 如果才能(result_mohu(关键词,stu1[我].id)==1) ,,{,,, ,,,gtk_list_store_append (liststore2,和iter); ,,,gtk_list_store_set (liststore2,和iter 0 stu1[我]暧昧不明,1); ,,,gtk_list_store_set (liststore2,和iter 1 stu1[我].id, 1); ,,,gtk_list_store_set (liststore2,和iter 2 stu1[我]. name, 1); ,,,gtk_list_store_set (liststore2,和iter 3 stu1[我].math, 1); ,,,gtk_list_store_set (liststore2,和iter 4 stu1[我].c_language, 1); ,,,gtk_list_store_set (liststore2,和iter 5 stu1[我].daolun, 1); ,,,gtk_list_store_set (liststore2,和iter 6 stu1[我].english, 1); ,,,gtk_list_store_set (liststore2,和iter 7 stu1[我].pe, 1); ,,,gtk_list_store_set (liststore2,和iter 8 stu1[我].history, 1); ,,,gtk_list_store_set (liststore2,和iter 9 stu1[我].daoyuan, 1); ,,,gtk_list_store_set (liststore2,和iter 10 stu1[我].banzhuren, 1); ,,,gtk_list_store_set (liststore2,和iter 11 stu1[我].score_classmate, 1); ,,,gtk_list_store_set (liststore2,和iter 12 stu1[我].sum, 1); ,,,f=1; ,,} ,如果(f==0) gtk_widget_show才能(GTK_WIDGET (window_noresult)); }C语言是什么
C语言是一门面向过程的,抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译,处理低级存储器。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
使用C语言怎么实现一个模糊搜索功能