0
我有一個文件(作爲文本),我應該從中提取所有包含的文件名。 的實施應該在C++
我認爲做的是讀線(getline
) 檢查後一個文件行,如果行從#include
開始 - 我怎麼做(有可能是前導空格) 和提取物後,文件名 - 「」之間的字符串 - 我該怎麼做? 謝謝從文件中提取特定數據
我有一個文件(作爲文本),我應該從中提取所有包含的文件名。 的實施應該在C++
我認爲做的是讀線(getline
) 檢查後一個文件行,如果行從#include
開始 - 我怎麼做(有可能是前導空格) 和提取物後,文件名 - 「」之間的字符串 - 我該怎麼做? 謝謝從文件中提取特定數據
首先一個包括可能會被放置之間<>
或""
所以你必須檢查兩者。
Next - 嘗試使用正則表達式的最佳方法。如果您使用的是c++11
,它們將成爲標準的一部分,您應該很樂意去。如果不是這種情況,可以試試boost::regex。
如果使用正則表達式不是一個選項,你將不得不實現自己的解析,但這會很容易出錯,很可能你會錯過一些奇怪的邊緣情況。如果我必須通過逐行掃描文件來實現這種解析。比我會檢查該行是否包含#include
作爲子字符串,並驗證之前只有空格。如果行具有提到的子字符串,我會迭代該行的其餘部分來解析<>
或""
之間的部分。
向我們展示您嘗試過什麼(代碼),以及您遇到什麼問題。 – m0skit0
爲什麼你沒有得到字符串,並按字符檢查char或使用'regex'? – Maroun