从文件中查找关键字算法

 
 
  1. // (1)源文件为一个txt文档,内容为符号串;
  2. // (2)给定一个关键字文件,内容为自定义的关键字(注:关键字有若干个,用空格隔开);
  3. // (3)依据关键字文件中的关键字在源文件中进行检索判断,得到关键字
  4. #include"stdio.h"
  5. #include"string.h"
  6. #include"malloc.h"
  7. #defineBUFLEN20480
  8. #defineMAXLINE20480
  9. intmain()
  10. {
  11. FILE*file1,*file2;
  12. intlen=0,i=0,j,count=0,flag,k,location=0,tag=1;
  13. charbuf1[BUFLEN],buf2[BUFLEN],str[5],c;
  14. for(i=0;i<5;i++)
  15. str[i]='\0';
  16. char*array1[MAXLINE],*array2[MAXLINE];
  17. file1=fopen("源文件.txt","r");
  18. file2=fopen("关键字.txt","r");
  19. //fgets(buf1,BUFLEN,file1);
  20. //fgets(buf2,BUFLEN,file2);
  21. i=0;
  22. while((c=getc(file1))!=EOF)
  23. {
  24. //printf("%c",c);
  25. buf1[i]=c;
  26. i++;
  27. }
  28. buf1[i]='\0';
  29. i=0;
  30. while((c=getc(file2))!=EOF)
  31. {
  32. //printf("%c",c);
  33. buf2[i]=c;
  34. i++;
  35. }
  36. buf2[i]='\0';
  37. printf("源文件:%s\n",buf1);
  38. printf("关键字文件:%s\n",buf2);
  39. printf("关键字1:");//tag=1
  40. for(i=0;buf2[i]!='\0';i++)
  41. {
  42. if(buf2[i]=='')
  43. {
  44. tag++;
  45. printf("\n关键字%d:",tag);
  46. }
  47. else
  48. printf("%c",buf2[i]);
  49. }
  50. tag=1;
  51. for(k=0;buf2[k]!='\0';k++)
  52. {
  53. if(buf2[k]!='')
  54. {
  55. str[location]=buf2[k+location];
  56. location++;
  57. str[location]='\0';
  58. }
  59. if(buf2[k]==''||buf2[k+1]=='\0')//若当前位置是空格或者到达最后
  60. {
  61. printf("\n关键字%d出现的位置:",tag);
  62. for(i=0;buf1[i]!='\0';i++)
  63. {
  64. //str[location]='\0';
  65. if(buf1[i]==str[0])
  66. {
  67. flag=1;
  68. for(j=0;str[j]!='\0';j++)
  69. {
  70. if(str[j]!=buf1[i+j])//如果有不等的字符,则终止
  71. flag=0;
  72. }
  73. if(flag)
  74. {
  75. printf("%d",i);
  76. count++;
  77. }
  78. }
  79. }
  80. printf("\n源文件中,关键字%d出现的次数%d",tag,count);
  81. printf("");
  82. tag++;
  83. for(i=0;i<2;i++)
  84. str[i]='\0';
  85. count=0;
  86. location=0;
  87. }
  88. }
  89. printf("\n");
  90. getchar();
  91. }

从文件中查找关键字算法_第1张图片

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/746500

你可能感兴趣的:(关键字)