使用c语言在文件中搜索字符串

时间:2011-11-02 09:35:14

标签: c file

我在C语言中遇到了FILEs概念的问题。

我的问题是我有一个html文件,并且在读取模式下打开了。

我需要从该文件中获取数据。精确度是我在两个字符串之间。

字符串为"<Response>""</Response>"

文本文件如下所示。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>



</title></head>

<body>

    <form name="form1" method="post" action="pos_fis_transactions.aspx?trans=14%7c35381192%7c10-10-2011%7c1000.0%7c10-10-2011%7cCASH%7cCREDIT%7cc%7cGCC" id="form1">

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE3NDI1ODEyMjhkZKgy7LmL8WTr+VEeDUOifRqzISfa" />



<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgLEypqSAQKez72pDln9yKosD6kd+LvgBmdrWkYoLk2u" />

    <div>



        <textarea name="txtTransAck" rows="2" cols="20" id="txtTransAck">**&lt;Response&gt;14|245&lt;/Response&gt;**</textarea>



    </div>

    </form>

</body>

</html>

在上面的html文件中,我需要选择数据14 | 25.

请帮帮我。

1 个答案:

答案 0 :(得分:2)

首先,您不是在寻找<Response></Response>,而是&lt;Resonse&gt;&lt;/Resonse&gt;

如果文件不是太大,请将其加载到内存中并执行

strnstr( loadedFileContent, "&lt;Response&gt;", lengthOfLoadedFileContent );

这会为您提供指向第一个&的字符指针 - 现在添加strlen( "&lt;Response&gt;" ),然后您就可以获得内容。

现在要么你知道你的内容的长度并阅读它,要么从那个位置搜索巢和&amp;并把它夹在中间。

HTH

马里奥