- #include <iomanip> 
- #include <iostream> 
- #include <sstream> 
- #include <string> 
-   
- int main() { 
- 	std::stringstream ss; 
- 	ss << "\"Primary, Secondary, Third\", \"Primary\", , \"Secondary\", 18, 4, 0, 0, 0"; 
-   
- 	while (ss >> std::ws) { 
- 		std::string csvElement; 
-   
- 		if (ss.peek() == '"') { 
- 			ss >> std::quoted(csvElement); 
- 			std::string discard; 
- 			std::getline(ss, discard, ','); 
- 		} 
- 		else { 
- 			std::getline(ss, csvElement, ','); 
- 		} 
-   
- 		std::cout << csvElement << "\n"; 
- 	} 
- } 
				I2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CgppbnQgbWFpbigpIHsKCXN0ZDo6c3RyaW5nc3RyZWFtIHNzOwoJc3MgPDwgIlwiUHJpbWFyeSwgU2Vjb25kYXJ5LCBUaGlyZFwiLCBcIlByaW1hcnlcIiwgLCBcIlNlY29uZGFyeVwiLCAxOCwgNCwgMCwgMCwgMCI7CgkKCXdoaWxlIChzcyA+PiBzdGQ6OndzKSB7CgkJc3RkOjpzdHJpbmcgY3N2RWxlbWVudDsKCQkKCQlpZiAoc3MucGVlaygpID09ICciJykgewoJCQlzcyA+PiBzdGQ6OnF1b3RlZChjc3ZFbGVtZW50KTsKCQkJc3RkOjpzdHJpbmcgZGlzY2FyZDsKCQkJc3RkOjpnZXRsaW5lKHNzLCBkaXNjYXJkLCAnLCcpOwoJCX0KCQllbHNlIHsKCQkJc3RkOjpnZXRsaW5lKHNzLCBjc3ZFbGVtZW50LCAnLCcpOwoJCX0KCQkKCQlzdGQ6OmNvdXQgPDwgY3N2RWxlbWVudCA8PCAiXG4iOwoJfQp9