【发布时间】:2013-07-12 16:00:55
【问题描述】:
我无法让atof() 函数工作。我只希望用户输入值(以十进制数的形式),直到他们输入'|',然后它才能打破循环。我希望这些值最初作为字符串读入,然后转换为双精度值,因为我在过去使用这种输入方法时发现,如果输入数字“124”,它会跳出循环,因为“124”是'|' 的代码字符。
我环顾四周,发现atof() 函数显然将strings 转换为doubles,但是当我尝试转换时,我收到了消息
“不存在从 std::string 到 const char 的合适转换函数”。
我似乎无法理解为什么会这样。
void distance_vector(){
double total = 0.0;
double mean = 0.0;
string input = " ";
double conversion = 0.0;
vector <double> a;
while (cin >> input && input.compare("|") != 0 ){
conversion = atof(input);
a.push_back(conversion);
}
keep_window_open();
}
【问题讨论】:
-
现在我已经回答并获得了经验,现在找到重复的问题对我来说很有意义。 stackoverflow.com/questions/4754011/…