昨天主要做近义词 加权处理,将抓来的数据根据第三方 数据统计每个词出现的次数,这样来判定每个词的权值,并对于每组的词找出权值最大的。
主要熟悉了:文件读取的方法:
主要问题:空行的处理,遇见空行,不能单纯的用NULL来判定结束,不然就会卡死。
对于每个存储单词的数组,每次要初始化
fp = fopen("文件", "w+r"); //设置文件指针,文件指针和别的 指针不一样,不能直接操作,要结合文件函数 进行读取
while ( fgets (strGet, 每行长度, fp)
{
对strGet串 进行读取; //文件的 读取是一行一行进行的
}
加权代码:

#include<stdio.h> #include<string.h> #include<ctype.h> #define X_Word_Long 210 int main() { FILE *fp,*fq,*fr; char *p,*q; char strWord[X_Word_Long] = ""; char ss[X_Word_Long] = ""; char str_read[X_Word_Long] = ""; char strNum[20] = ""; int num; int t =0; int len ,s, s_du; fp = fopen("1.1.txt","r++"); fq = fopen("log06_121.txt","r++"); fr = fopen("du.txt", "w+r"); memset(ss,0,sizeof(ss)); memset(strWord, 0 , sizeof(strWord)); while(fgets(ss,200,fp)!=NULL) { len = strlen(ss); s_du = 0; /*for(int i = 0 ;i<len ;i++) strWord[s_du++] = ss[i];*/ while(s_du < len) { s = 0; while(ss[s_du] != ' '&&ss[s_du] !='