2016-04-23 153 views
1

我有以下的字符串後數組: -劃分字符串插入逗號C++

CoursesExams = HUM001,Technical Writing,28/4/2016,HallA;CSE121,Computer Programming,3/5/2016,HallB]

我希望每個;之後將其分割成一個數組。我如何使用C++來做到這一點?

回答

1

使用std ::函數getline和字符串流:

std::string s = "HUM001,Technical Writing,28/4/2016,HallA;CSE121,Computer Programming,3/5/2016,HallB]"; 
std::vector<std::string> arr; 
std::istringstream str(s); 
std::string elem; 

// getline reads str stream until comma is found, then returns string in elem 
while(std::getline(str, elem, ',')) arr.push_back(elem); 

for (auto& s : arr) std::cout << s << "\n"; 
+0

最後皮棉引發以下錯誤:{函數定義在這裏不允許使用前「:」令牌} 我該怎麼處理這個問題? –

+0

@HossamSalah你使用C++ 11編譯器嗎?你可以把它改寫爲:for(size_t i = 0; i marcinj

+0

謝謝..它的工作原理:D –