c语言处理保存的HTML文件

c语言处理保存的HTML文件,第1张

寻找单个的字符,可以使用strchr函数

strstr函数寻找的时候,是进行字符串匹配

如果用gb2312编码的话,这是一种多字节字节字符集,原理上并不会出现找不到的情况

之所以会这样,可能是查找子串没有设置好

另外strstr或者strchr进行连续查找的时候,一定要不断的修改源字符串地址,将找过的字符串略过

#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. 首先定义一个File 的变量

2.然后用

FILE *fopen(

const char *filename,

const char *mode

)

这个函数读入 html 文件

3.用这个读入文件内容

size_t fread(

void *buffer,

size_t size,

size_t count,

FILE *stream

)

4.之后进行字符数组的处理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7032264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-31
下一篇 2023-03-31

发表评论

登录后才能评论

评论列表(0条)

保存