I have CSV data file contained follow info:
-0.2500000000,15,15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;0;0;0;0;0;15;0;0,0,0
I only want to add double quotes around those data with semi-colon between them. And I know a specific data that needs to add double quotes.
After add double quotes it should be like this.
-0.2500000000,15,"15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;0;0;0;0;0;15;0;0",0,0
I need to add double quotes for each line of CSV data text line, re-write back to samefile or different. What I plan to do is, using boost token
typedef boost::tokenizer <boost::escaped_list_separator<char> > my_tokenizerDL;
while (getline(infile, line) && lineCount <= NumOfRecords)
{
    for (my_tokenizerDL::iterator it(tok.begin()), end(tok.end()); it != end; ++it)
    {
        mystrDL.push_back(*it);
    }
    for (vector < string >::iterator _mit(mystrDL.begin()); _mit != mystrDL.end(); _mit++)
    {
        //get token position and add double quotes 
        //...........
        //...........
    }
}
////////////dump back to file/////////////////
If you have some advises, I appreciate for your opinions.
================================================================================= After Chad helped out, here are the whole codes which are working as what I need: Purpose: Read csv data txt file each line, then search for column which has ";" between them, and add double quotes around them. Finally, write it back to file. There is an extra "," at the end of each csv data line. I did not fix it!
    ifstream infile("c:\\inputD.csv");
if (!infile)
    return EXIT_FAILURE;
ofstream CSVToFile("c:\\TestCSV.csv", ios::out);
std::string line_from_file;
std::vector<std::string> split_line_to_file;
while (getline(infile, line_from_file))
{       
    boost::split(split_line_to_file, line_from_file, boost::is_any_of(","));
    for(auto str = split_line_to_file.begin(), end = split_line_to_file.end();
        str != end; ++str)
    {
        if(std::string::npos != str->find(';'))
            (*str) = "\"" + (*str) + "\",";
        else
            (*str) = (*str) + ",";
        CSVToFile << (*str);
        std::cout<<*str;
        if (*str == split_line_to_file.back())
            break;
    }
    CSVToFile << ";"<<std::endl;
    std::cout<<std::endl;
}
infile.close();
CSVToFile.close();
 
    