社区
C语言
帖子详情
对文件内的字符串检索
FLY_FOX
2000-12-29 03:31:00
请高手指点,50分奉上。
请问如何打开一个文件并对其中的字符串进行检索?如:
FILE *FP;
if(!(fp=fopen("book.txt","rb"))){
exit(1);
}
else
{
//进行字符串检索,如:要找出单词FILE,然后输出
}
...全文
167
10
打赏
收藏
对文件内的字符串检索
请高手指点,50分奉上。 请问如何打开一个文件并对其中的字符串进行检索?如: FILE *FP; if(!(fp=fopen("book.txt","rb"))){ exit(1); } else { //进行字符串检索,如:要找出单词FILE,然后输出 }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hyqryq
2000-12-30
打赏
举报
回复
用字符串匹配算法或KMP算法。
FLY_FOX
2000-12-29
打赏
举报
回复
OK,此程序弄得我头都大了,主要是内容太多,关系到样式、参数的分离等等。具体就不说了。
50分太少--另行加分。
如果写出的文本内容太多(注意:不是在WINDOWS的窗口中,类似DOS下调用GRAPHICS.H吧)
用键盘实现文本的滚动,应该如何做?
我曾经考虑过用指针来做到这一点,但不知道对速度会不会有影响?
ed9er
2000-12-29
打赏
举报
回复
int fd, r;
char c, *p;
char *str = "abcac"; // as you wish
int next[] = { -1, 0, 0, 0, 1}; // KMP
if( -1 == (fd=open( "book.txt", O_RDONLY )) )
exit(1);
r = read( fd, &c, 1 );
p = str;
while( r ) {
if( *p == c ) {
p++;
if( !*p ) {
printf( "found : %s\n", str );
break;
}
}
else if( p != str ) { // do not use "-1"
p = str + next[p-str];
continue;
}
r = read( fd, &c, 1 );
}
//如果str里面有中文的话,嘿嘿,就要拆成两个byte来做next数组,看一下数据结构书吧,上面有做next的程序,懒得找给你了
lu_yb
2000-12-29
打赏
举报
回复
如果有中文要用unsigned char来读取,如果读到
的第八位置位了,也就是其值大于128就是中文了,
这时要和下一字节一起两位一起判断.
ColdSpring
2000-12-29
打赏
举报
回复
if(!(fp=fopen("book.txt","rb"))){
exit(1);
}
else
{
while(文件结束)
{ 文件放入字符串str1}
if (strstr(str1,"查询子串")!=NULL) 存在此子串;
else 没有;
}
中文一样的,中文部过是双字节的字符而已
FLY_FOX
2000-12-29
打赏
举报
回复
如果其中有中文?
chenf
2000-12-29
打赏
举报
回复
保证是文本文件!
CFile f("book.txt",CFile::modeRead);
CArchive a(&f,CArchive::load);
CString s;
DWORD l=f.GetLength();
a.Read(s.GetBufferSetLength(l),l);
int pos=s.Find("FILE");
ColdSpring
2000-12-29
打赏
举报
回复
我来试一式
FLY_FOX
2000-12-29
打赏
举报
回复
To ColdSpring:
我实验过,不过出了问题,请给出一段源代码好吗?
ColdSpring
2000-12-29
打赏
举报
回复
先把文件内容读出到一个字符串中,然后再检索
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
Python
字符串
检索
用于
检索
指定
字符串
在另一个
字符串
中出现的次数。如果
检索
的
字符串
不存在,则返回0,否则返回出现的次数。 语法: str.count(sub[,start[,end]]) str:表示原
字符串
。 sub:表示要
检索
的
字符串
。 start:可选,...
LabVIEW中对
字符串
数据进行关键词
检索
,LabVIEW的字符搜索功能,关键词不在
字符串
开头也能
检索
(原创)
在LabVIEW中如何
检索
字符串
中的关键词呢?其实用LabVIEW自带的控件就能实现这一操作,下面将详细介绍如何实现 话不多说,先上程序框图 下面一一介绍用到的控件:
字符串
输入控件 在前面板中右击,新式>
字符串
与...
C++
字符串
的查找
关于
字符串
的各种查找 原文出处:https://www.cnblogs.com/yongpan/p/7920165.html 1 find函数:在
字符串
中查找子
字符串
中出现的位置 函数最终返回的是子
字符串
出现在
字符串
中的起始下标 该函数有两个参数,...
java删除
文件
中的
字符串
_如何在Java中删除
文件
(.txt)中的
字符串
?
使用replaceAll()方法从
文件
中删除特定的
字符串
-以
字符串
形式
检索
文件
的内容。使用方法将所需的单词替换为空的String replaceAll()。再次将结果
字符串
重写到
文件
中。示例importjava.io.File;importjava....
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章