查找一段文章里面的含有特定字符串的函数

By | 04月15日
Advertisement

首先,我们需要自定义两个函数:

int getline(char s[],int lim) //将行保存到s中,并且返回该行的长度。

int strindex(char s[],char t[])函数,t为要查找的字符串,搜索t在s中的位置,如果不存在,则返回-1

#include<stdio.h>
#include<assert.h>
#define MAXLINE 1000

char index[] = "tes" ;
int getline(char s[],int lim)
{
int i=0, c;
while(--lim > 0 && (c = getchar()) != EOF && c!='n')
s[i++] = c ;
if(c == 'n')
s[i++] = c ;
s[i] = '';
return i ;
}

int strindex(char s[],char t[])
{
int i,j,k ;

for(i = 0; s[i] != ''; i++)
{
for(j=i,k=0 ;t[k]!='' && s[j]==t[k];j++,k++)
;
if(k > 0 && t[k] == '') //写这个代码的时候把写成了n,导致了输出不了,真是马虎。
return i ;
}
return -1 ;
}

int main()
{
char str[MAXLINE];
printf("%d",getline(str,MAXLINE));

printf("n");

int i = 0;

do
{
printf("%c",str[i]);
}
while(str[i++] != '');

printf("n");

if(strindex(str,index) >= 0)
{
printf("%s",str);
}

return 0 ;
}

Similar Posts:

  • php中 判断某字符串变量是否含有特定字符串

    <?php $a="123456789.exe"; if(strstr($a,"exe")) { echo "exen"; } elseif(strstr($a,"123")) { echo "一二三n"; } else { echo "全无"; } ?>

  • linux 查找目录下的所有文件中是否含有某个字符串

    查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成. (2)基本元字符集及其含义 ^ :只匹配行首. 如^a 匹配以a开头的行abc,a2e,a12,aaa,.

  • Linux查找包含特定字符串的文件名

    在使用 *nix 的过程中,我们要适应在纯命令行中工作,由于没有图形界面,因此我们需要用一些特定的命令,甚至某个命令的特定用法,来实现我们希望实现的功能,以便于我们的日常工作.在我的日常工作中,常常会需要查找,包含某个特定字符串的文件,这需要联合使用 find.xargs 和 grep 命令才能达到目的. 本文将介绍,如何在 Linux 中,使用 find.xargs 和 grep 命令,来查找包含某一特定字符串的文件,并打印出文件的名称和路径.同时还将延伸 find 命令的特定用法,来实现寻找

  • c++ 怎样判断字符串string里面是否含有某个字符串?

    c++ string怎样判断字符串里面是否含有某个字符串? 例如:string str="afdsdfs_hello_sdfas#@!"; 怎样判断str里面是否含有"hello",,谢谢 使用 string 的 find 成员函数. #include <iostream> #include <string> using namespace std; int main() { string str = "afdsdfs_hello_

  • linux下查找某目录下所有文件包含某字符串的命令

    linux下查找某目录下所有文件包含某字符串的命令: 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 如: grep "kinpui" 1 \在名为"1"的文件夹查找字符串kinpui \ 从文件内容查找与正则表达式匹配的行: $ grep –e "正则表达式" 文件名 查找时不区分大小写: $ grep –i "被查找的字符串" 文件名 查找匹配的行数: $ grep -c

  • 将一个目录下所有指定文件里面的特定字符串替换

      这是曾经写的一个程序,目的很简单就是把自己以前完成的一个工程里面特定字符串替换,本来用脚本是很简单的,但是当时还未接触只得用VC写了一个程序,可以看出有多么麻烦!!.   程序涉及到知识点: 指针 链表 文件遍历 内存映射文件,代码如下 // Test2.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" #d

  • 算法:查找两串字符中 最长相等字符串

    /* //查找两串字符中 最长相等字符串 ex: str1 = stringchenlu str2 = ingchseeme result:str = ingch */ #include "stdio.h" #include "string.h" int main() { char str1[100]=""; char str2[100]=""; char str3[100]=""; char str4[1

  • 利用awk获取特定字符串所在行的内容

    获取特定字符串所在行的内容 awk是强大的文档处理工具,是一门经典语言,利用脚本来运行awk的时候,脚本开头需要输入:#!/bin/awk -f,它和命令行输入的不同点是,在脚本里面不用在输入命令awk,和需要待处理的文件名. 脚本(it.awk): #!/bin/awk -f # get has the #123 #234 test $1=="#123" {A=NR} ; $1=="#234" {B=NR} ; NR>$A && NR<

  • [bash]删除文件中含特定字符串的行

    ]删除文件中含特定字符串的行[bash]: sed -e '/abc/d' a.txt // 删除a.txt中含"abc"的行,但不改变a.txt文件本身,操作之后的结果在终端显示 sed -e '/abc/d' a.txt > a.log // 删除a.txt中含"abc"的行,将操作之后的结果保存到a.log sed '/abc/d;/efg/d' a.txt > a.log // 删除含字符串"abc"或"efg&qu

  • 查找含有特定字符的存储过程

    select p.name, m.definition from sys.procedures p inner join sys.sql_modules m on p.object_id = m.object_id where m.definition like '%150%' 感谢怡红公子

Tags: