【发布时间】:2015-11-19 17:01:13
【问题描述】:
我正在尝试将包含字符串的数组转换为浮点数。索引 [j][2] 处的每个字符串都是一个必须转换为浮点数的数字。 i 是一个 int,其中包含数组的“行”总数。首先,我需要将它乘以 8,然后除以 10,然后将其转换为字符串并将其存储回数组中。我想稍后再将其转换为浮点数,但我需要记录每个浮点数属于哪个索引。所以我需要一种将字符串转换为浮点数的可靠方法。以下失败并给我这个错误消息:
for (int j = 0; j < i; j++) {
float wow = strtof(array[j][2]);
array[j][3] = (wow + float(i/10)*8);
}
错误:
无法将参数“1”转换为“std::string {aka std::basic_string}”到“const char*”到“float strtof(const char*, char**)”
strtof 的变体,如 stof 和 atof 给我同样的错误。
【问题讨论】:
-
这里的简单答案是使用
array[j][2].c_str(),关于类似函数调用的问题有很多种。 -
鉴于错误消息,也是How to convert a std::string to const char* or char*?的“真实”副本
标签: c++ string type-conversion