I have a list of numbers which looks like this: 1.234D+1 or 1.234D-02. I want to read the file using C. The function atof will merely
Here this function is to replace "D" into "E" in the scientific notation with "D".
std::string dToE(string cppstr)
{
str1.replace(cppstr.find("D"),1,"E");
return cppstr;
}
If the C string for scientific notation is defined by:
char * cstr = "1.2D+03";
or usually obtained by strtok method, which returns C string, then use atof(dToE(string(cstr)).c_str()) to get the scientific notation with "E".
Since atof only accept C style string, you should use c_str() string method to convert C++ string into C string.