我想知道如何(以及在哪種方式最好做到這一點)在C++/CLI中將一個字符串與未知數量的空格分隔爲分隔符?C++/CLI - 將未知數量的空格作爲分隔符拆分字符串?
編輯:問題是空間數是未知的,所以當我嘗試使用split方法是這樣的:
String^ line;
StreamReader^ SCR = gcnew StreamReader("input.txt");
while ((line = SCR->ReadLine()) != nullptr && line != nullptr)
{
if (line->IndexOf(' ') != -1)
for each (String^ SCS in line->Split(nullptr, 2))
{
//Load the lines...
}
}
這是一個例子,如何INPUT.TXT看:
ThisISSomeTxt<space><space><space><tab>PartNumberTwo<space>PartNumber3
當我然後嘗試運行程序時,加載的第一行是「ThisISSomeTxt」,加載的第二行是「」(無),加載的第三行也是「」(無),第四行行也是「」什麼都沒有,第五行加載的是「PartNumberTwo」,第六行是PartNumbe R3。
我只想要ThisissomeTxt和PartNumberTwo加載:?我怎樣才能做到這一點?
在這裏看到:http://stackoverflow.com/questions/53849/how-do-i-tokenize -a-string-in-c boost庫會有很大幫助。 – FreudianSlip 2012-08-12 20:38:28
我沒有使用boost:/這是必須的某種方式來與.net框架做到這一點?如果可以在C#中完成,使用託管C++很容易轉換爲C++/CLI – HalfEvil 2012-08-12 20:40:48
?爲什麼在標籤中使用C++ 11? – Gir 2012-08-12 20:42:01