c语言提取html标签内容

html-css021

c语言提取html标签内容,第1张

#include <stdio.h>

#include <math.h>

void fetch_str(char *str_in, char *str_out)

int main(){

char test[] = "<a>This is the <...>string</a>"

char result[256]

fetch_str(test, result)

printf("\ntest\t=%s\n", test)

printf("\nresult\t=%s\n",result)

return 1

}

void fetch_str(char *str_in, char *str_out)

{

char begin_str[] = "<a>"

char end_str[] = "</a>"

int index_end =0

int index_begin=0

int flag_begin =0

int flag_end =0

int str_index=0

int i

// to find the max index of str_in

while(str_in[str_index]!='\0')

{

str_index++

}

str_index--

//printf("%s %s", begin_str, end_str)

int count=0

while(str_in[count]!='\0')

{

// to find the begin index of the target string

if( flag_begin==0 &&count<=(str_index-2) )

{

if( str_in[count]==begin_str[0] &&str_in[count+1]==begin_str[1] &&str_in[count+2]==begin_str[2] )

{

flag_begin=1

index_begin=count+3

}

}

// to find the end index of the target string

//if( flag_end==0 &&count<=(str_index-3) )

if(count<=(str_index-3) )

{

if( str_in[count]==end_str[0] &&str_in[count+1]==end_str[1] &&str_in[count+2]==end_str[2] &&str_in[count+3]==end_str[3])

{

flag_end=1

index_end=count-1

}

}

count++

}

//printf("\nbegin_index=%d, end_index=%d\n", index_begin, index_end)

// to copy the target string to str_out

count=0

for(i=index_begini<=index_endi++)

{

str_out[count]=str_in[i]

count++

}

str_out[count]='\0'

return

}

1. 如果你懂编程序:

使用字符串匹配算法,例如KMP算法,AC算法等。

AC算法比较好,网络上可能有现成的,弄一个源代码,再修改下就可以。

2. 如果你不懂编程:

用word,ultraedit等编辑工具,直接搜索你要的字符串就可以了吧。

读取Excel首先你在引用中得引用Microsoft office Excel 20** 对应的dll文件,才能读取到Excel的数据

在类里面引用:System.Data.OleDb

static public DataSet ExcelToDataSet(string filename)

{

DataSet ds

string strCon = "Provider=Microsoft.Jet.OLEDB.4.0" +

"Extended Properties=Excel 8.0" +

"data source=" + filename

OleDbConnection myConn = new OleDbConnection(strCon)

string strCom = " SELECT * FROM [Sheet1$]"

myConn.Open()

OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn)

ds = new DataSet()

myCommand.Fill(ds)

myConn.Close()

return ds

}

这个方法返回一个数据读取的数据原给你的datagridview