#include <iostream>
#include <sstream> // replace this with fstream
int main()
{
const int MAX_STRINGS = 10;
const int MAX_STRING_LEN = 20;
char* strings[MAX_STRINGS] = {0};
std::istringstream ss("test1,test2,test3"); // replace this with std::ifstream
char* str;
int i = 0;
while(ss)
{
str = new char[MAX_STRING_LEN];
ss.getline(str, MAX_STRING_LEN, ',');
strings[i++] = str;
}
// print each string then delete it
for(int i = 0; i < MAX_STRINGS; ++i)
{
if(strings[i])
{
std::cout << strings[i] << std::endl;
delete[] strings[i];
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4gLy8gcmVwbGFjZSB0aGlzIHdpdGggZnN0cmVhbQoKaW50IG1haW4oKQp7Cgljb25zdCBpbnQgTUFYX1NUUklOR1MgPSAxMDsKCWNvbnN0IGludCBNQVhfU1RSSU5HX0xFTiA9IDIwOwoJCgljaGFyKiBzdHJpbmdzW01BWF9TVFJJTkdTXSA9IHswfTsKCQoJc3RkOjppc3RyaW5nc3RyZWFtIHNzKCJ0ZXN0MSx0ZXN0Mix0ZXN0MyIpOyAvLyByZXBsYWNlIHRoaXMgd2l0aCBzdGQ6Omlmc3RyZWFtCgkKCWNoYXIqIHN0cjsKCWludCBpID0gMDsKCQoJd2hpbGUoc3MpCgl7CgkJc3RyID0gbmV3IGNoYXJbTUFYX1NUUklOR19MRU5dOwoJCXNzLmdldGxpbmUoc3RyLCBNQVhfU1RSSU5HX0xFTiwgJywnKTsKCQlzdHJpbmdzW2krK10gPSBzdHI7Cgl9CgkKCS8vIHByaW50IGVhY2ggc3RyaW5nIHRoZW4gZGVsZXRlIGl0Cglmb3IoaW50IGkgPSAwOyBpIDwgTUFYX1NUUklOR1M7ICsraSkKCXsKCQlpZihzdHJpbmdzW2ldKQoJCXsKCQkJc3RkOjpjb3V0IDw8IHN0cmluZ3NbaV0gPDwgc3RkOjplbmRsOwoJCQlkZWxldGVbXSBzdHJpbmdzW2ldOwoJCX0KCX0KCQoJcmV0dXJuIDA7Cn0=