What is the fast way to convert string to numeric type and vice ve
Hello,
In our project we need write a huge numeric array to a XML file and read the
XML into a string and convert the data into numeric array. It is very slow
when
the array is big ( 15000 elements). What is the fast way to convert
std::string or const char* to numeric type and vice versa?
The Code below are what we used to convert the data from char* to numveric
array:
const char* text = variableElement->GetText();
std::vector<std::string> vector = SplitStringToVector(text);
int eventsCount = vector.size();
for (int i = 0; i < size; ++i)
{
std::string valueString = vector[i];
int numericValue;
if(!FromString<int>(numericValue, valueString))
{
std::string errorMassage = parameterName;
errorMassage.append(": Contains a invalid ....\n");
throw errorMassage;
}
algorithmData[i] = numericValue;
}
bool FromString(T& theNumericValue, const std::string& stdString)
{
std::istringstream stdIStringStream(stdString);
return !((stdIStringStream >> std::dec >> theNumericValue).fail());
}
The code below are what we used to convert the numeric array to XML string:
std::ostringstream stdOstringstream;
for (int i = 0; i < size; ++i)
{
int data = myarray[i];
sdOstringstream << data << ',';
}
std::string values = stdOstringstream.str();
const char* text = values.c_str();
TiXmlText* tiXmlText = new TiXmlText(text);
Thank you for any help,
Haiping