作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Easiest way to convert int to string in C++
(29 个回答)
Converting Input string to float/double C++
(5 个回答)
4年前关闭。
我怎样才能重写我的阅读详情 不使用 的函数stod() 或 strtod() 在 C++ ?
我将使用的编译器没有启用 c++11,我得到了
'stod' 未在此范围错误中声明
int readDetails(SmallRestaurant sr[])
{
//Declaration
ifstream inf;
//Open file
inf.open("pop_density.txt");
//Check condition
if (!inf)
{
//Display
cout << "Input file is not found!" << endl;
//Pause
system("pause");
//Exit on failure
exit(EXIT_FAILURE);
}
//Declarations and initializations
string fLine;
int counter = 0;
int loc = -1;
//Read
getline(inf, fLine);
//Loop
while (inf)
{
//File read
loc = fLine.find('|');
sr[counter].nameInFile = fLine.substr(0, loc);
fLine = fLine.substr(loc + 1);
loc = fLine.find('|');
sr[counter].areaInFile = stod(fLine.substr(0, loc)); //line using stod
fLine = fLine.substr(loc + 1);
loc = fLine.find('|');
sr[counter].popInFile = stoi(fLine.substr(0, loc));
fLine = fLine.substr(loc + 1);
sr[counter].densityInFile = stod(fLine); //line using stod
counter++;
getline(inf, fLine);
}
//Return
return counter;
}
最佳答案
使用std::istringstream
.
std::string number_as_text("123");
int value;
std::istringstream number_stream(number_as_text);
number_stream >> value;
std::string number_as_text("3.14159");
double pi;
std::istringstream number_stream(number_as_text);
number_stream >> pi;
sprintf
的变体.
std::string tract;
std::string county;
std::string state;
double value1;
char separator;
//...
std::ifstream input("myfile.txt");
//...
std::getline(input, tract, ',');
std::getline(input, county, ',');
std::getline(input, state, '|');
input >> value1;
input >> separator;
//...
input.ignore(100000, '\n'); // Ignore any remaining characters on the line
关于c++ - 我如何在没有 Stod() 的情况下重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44981107/
我是一名优秀的程序员,十分优秀!