2011-11-02 26 views
-1

我遇到了C語言中FILE概念的問題。使用c語言在文件中搜索字符串

我的問題是我有一個html文件,並在閱讀模式下打開。

我需要從該文件中獲取數據。acurate是我在兩個字符串之間的數據。

字符串是"<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

你必須做這在C代碼,或者你會願意考慮另一種語言(如Perl),其內置的文本分析功能稍好一些? – Kusalananda

+0

這不僅僅是你以前的問題的重複:[C語言中的文件I/O](http://stackoverflow.com/questions/7977791/file-io-in-c-language),但沒有代碼?爲什麼不閱讀上一個問題的答案,並根據建議解決問題,而不是重新開始呢? –

回答

2

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

如果文件不是太大,它加載到內存中,並做了

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

這給你一個字符指針到第一& - 現在加入strlen("&lt;Response&gt;")到這一點,你在你的內容arive。

現在要麼您知道您的內容的長度並閱讀它,要麼從該位置搜索嵌套&,並取兩者之間的字符串。

心連心

馬里奧