如何用C编写 把文本中的网址提取出来!

如题所述

这个事情用Java、C#用正则表达式处理非常轻松

如果用C做也可以,要做字符串匹配呀,找到src=,然后把 后面一对双引号中的东西去取出来。

都是字符串和字符指针比较基本的操作。追问

我是用C 问题是怎么用文件操作!代码在文件里面!把里面的网址提取出来!怎么操作!

追答给你写一小段例子
//本函数用于从指定的文件中读取URL
//参数说明: char *filename è¾“入文件名
//                   char buff[256];
//返回值: -1 æ‰“开文件失败 0未读取到URL 1读取到URL
int getUrlFromTxt(char * filename, char buff[256])
{
    FILE *fp=fopen(filename,"r");
    if(fp==NULL)
        return -1;
    int ret=0;
    char temp[1024];
    while(!feof(fp))
    {
        fgets(temp.1023,fp);
        //下面可以用strstr判断temp中是否有 src;
        //如果有src,则直接把URL复制到buff,然后让ret=1; å†break;
        //如果没有src,则读取下一行        
    }
    fclose(fp);
    return ret;
}

 è¿™ä¸ªé‡Œé¢æœ‰ä¸ªå°ç»†èŠ‚,特别重要,你的输入文件时ASI编码还是unicode或者是utf-8,上面的程序对ANSI编码没问题,如果是unicdoe或者utf-8编码就有问题了。

追问

能加你Q Q说下嘛
例如 读取到后面是<img src= 刚好读取到这里后面的链接在下一行是那不就找不到后面的链接了吗
!

追答

你这个东西用C++写也比用C省事多了,用python、Java或者C#就是一个正则表达式的小问题。

如果出现你说的情况,那么当遇到 src,整个字符串结束了,你就需要再读取下一行合并处理呀。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-02-05
%s中不能有空格的。 对于这个 应该是没有什么太好的办法,能做到一句搞定。 你可以逐个读入数据,当遇到#title#时开始读,依次读到数组

如何用C编写 把文本中的网址提取出来!
如果用C做也可以,要做字符串匹配呀,找到src=,然后把 后面一对双引号中的东西去取出来。都是字符串和字符指针比较基本的操作。

按键精灵 逐次读取TXT文本中的网址 并用浏览器打开
If len(Lib.文件.读取指定行文本内容("C:\\123.txt", i)) > 4 Then RunApp lib.文件.读取指定行文本内容("C:\\123.txt", i)End If Delay 500 Next 复制上面代码,如果路径不对请在C盘创建一个123名称的文档或者自行修改代码中的文件路径,打开网页的间隔时间修改Delay延时来实现,1000为一秒,...

请问C语言如何把文本中的一部分提出来
你可以逐个读入数据,当遇到#title#时开始读,依次读到数组中,直到遇到# \/ title #结束。

怎样批量提取大量html,txt等文档中的图片地址?Replace Pioneer_百 ...
1. ctrl-o打开文本文件 2. ctrl-h打开Replace窗口 在Search for pattern输入[<img src="(.*?)"]不带左右的方括号。在Replace with pattern输入[\\1\\n]不带左右的方括号。去掉Print Unmatch Unit选项,把其他不需要的内容去掉。3. 点击Replace,即完成地址的提取。对多个文件的提取:1. ctrl-h打...

网页中的文字怎么提取出来
1. 使用Ctrl+A快捷键 较简单的提取网页文字的方法就是使用Ctrl+A快捷键。将鼠标光标放置在要提取的网页上,按下Ctrl+A,在屏幕上出现的所有文字都会被选中。然后按下Ctrl+C进行拷贝,就可以将所有文字粘贴到需要的地方了。2. 使用网页提取工具 有一些网页提取工具可以帮助我们提取网页内容,其中比较...

C语言编写一个程序从特定的文件中提取特定的字符串。
按你追问的要求改了一下。这段代码能把键盘输入的特定字符串后面双引号内的文字提取出来存入XYZ.txt文件中。在提取过程中滤除了源文件中的'\\n'和' '。供参考……include "stdio.h"\/\/ include "string.h"\/\/ include "stdlib.h"\/\/ void main(void){ FILE *pR,*pW;char CoStr[20],ln,ch,...

怎么用C语言编写一个程序,打开电脑中的一个中文文本,然后把这篇文
charch[100];FILE*f=fopen("文件名","r");fgets(ch,100,f);printf(ch);这个样子。

如何在c#的dll中嵌入txt文件,并且把文件的内容读取出来?
实现方法如下:(1)新建一个文本文件Message.txt。这个文件将作为资源嵌入到DLL中 (2)在Visual Studio中创建一个“类库”项目。项目名称:ClassLibrary1 (3)在解决方案资源管理器中,选中项目ClassLibrary1-->项目-->ClassLibrary1 属性 在 ClassLibrary1属性设置页中鼠标单击 资源--> “……单击...

在C程序中怎么读取文本中的十进制浮点数
1、 启动Visual C++6.0,生成一个单文档的工程,将该工程命名为ReadCoodinate。2、 添加一个“读取文本数据”的菜单项。3、 给视图类添加两个public变量:CArray<CPoint,CPoint> m_PointArray; \/\/ 用于记录坐标点数据 int m_PointNum; \/\/ 用于记录坐标点个数,在视图类构造函数中初始化为...

如何将文本中的品牌提取出来?
1、打开电脑,然后在excel中打开需要的文档,这时从产品名称中查找到关键词ABC并提取这三个关键词放到品牌列中;2、可以先使用find函数来查找一下产品名称列的关键词数量,在D4单元格输入公式=FIND({"A","B","C"},C4);3、回车后,看到返回的数值为关键词所在字符串的位置为1,这就意味着只要...

相似回答
大家正在搜