| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 600 人关注过本帖
标题:求助:请问如何编这样的一个程序
只看楼主 加入收藏
木鸡
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-1-19
收藏
 问题点数:0 回复次数:6 
求助:请问如何编这样的一个程序

我要在一个文本文件中搜索一些固定的词语,然后输出固定的词语后面的内容。

比如这样一个文本文件,他的内容是:

TOOL:R5
SINA SIHU YAHUU
.....
.......
PRO:1500
..........


假设上面一个文本文件里面的内容,现在我要在不打开这个文本文件的情况下,通过程序搜索这个文本文件里面的内容,
然后通过找里面的关键字,比如上面的“TOOL:”是关键字,我只要一搜索到“TOOL:”这个词,就输出它后面的内容,比如输出上面的R5。


跪求高手指点!!!木鸡感激不尽!!

2006-01-19 17:44
大法师之杖
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-1-11
收藏
得分:0 
通过连续的比较.
先打开文件(用fopen);
然后通过fgetc读取字符,设定一个变量做计数器.
然后比较字符,如果和要搜索的字符的第一位相同,计数器加1,储存搜索的字符的数组指针也加1,以次类推,假如下次不同的话计数器归零,,储存搜索的字符的数组指针回到原位.只要计数器个数和搜索的字符个数相同,存储目前文件指向的字符指针.其它的就知道怎么做了吧.
这个只是大概的思路,细节方面还要解决.

我也是刚学不久的
2006-01-19 18:56
bestee
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-1-19
收藏
得分:0 

/***上次的算法写错了,改了一下***/
//问题可以归结为比较字符串,也就是串的匹配模式算法
//先用word[]储存单词(字符串),text[]储存文章
//length为单词长度(字符串),key[]为要找的字符串,text为被比较的字符串,k 记载趟数
int i=0, j=0,k=0;
while(word[++length_word]);//确定单词长度
while(textt[++length_text]);//确定文章长度
while(i<length_text&&j<length_word){
if(key[j]!=text[i]){ //这里也可以更巧妙地写成
++k; //i=i-j+2;
i=k; //j=0;
j=0;
}
else {
++m;
++n;
}
}
这种算法最大问题在于要回溯指针i和j,所以当单词特别长,需要多次循环比较的时候,效率不高,改进算法可以参看KMP算法。

[此贴子已经被作者于2006-1-20 23:21:48编辑过]


欢迎光临我的blog! http://blog./bestee
2006-01-20 00:10
bestee
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-1-19
收藏
得分:0 

上次写错了,又改了一下


欢迎光临我的blog! http://blog./bestee
2006-01-20 23:23
木鸡
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-1-19
收藏
得分:0 

请楼上的加我QQ 22099756

2006-01-21 13:22
zushuboderen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-12-24
收藏
得分:0 
三楼的挺不错的

冷静点............. 耐心点.............
2006-01-21 20:18
spp509
Rank: 1
等 级:新手上路
威 望:1
帖 子:98
专家分:0
注 册:2005-11-23
收藏
得分:0 
文件这块我也没学好啊,哎~~~~

一听就懂,一看就会,一做就错……
2006-01-21 21:51
快速回复:求助:请问如何编这样的一个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved