2012-12-12 42 views
8

我有一個問題。我加載整個文件,然後通過它來獲取一些信息。但是在地圖格式中,信息可能有0或20個「行」。我需要知道如何通過std :: string進行getline。有一個函數(源流,目標字符串,十進制),但我需要(源字符串,目標字符串,十進制)。在C++中不可能使用流進行搜索(只使用許多臨時字符串並提取和插入很多次,但還不清楚,我不想那麼麻煩)。所以我想知道如何從std :: string中獲取。如何從std :: string中獲取「getline」?

Thans

回答

17

你似乎想std::istringstream,這是在頭<sstream>

std::string some_string = "..."; 

std::istringstream iss(some_string); 

std::string line; 
while (std::getline(iss, line)) 
{ 
    // Do something with `line` 
} 
+0

感謝。簡單的問題與它有關。如何在流中沒有找到小數點時讓getline不要獲取一行? – user1873947

+0

因爲這仍然是一個問題,因爲我無法在流中搜索(這就是爲什麼我想要字符串getline不存在)。 – user1873947

+0

@ user1873947最簡單的可能是檢查你使用的字符串是否包含數字,然後跳過整個'std :: istringstream' /'std :: getline'位。 –

相關問題