C字符串进行双重转换 - 代码日志

C字符串进行双重转换

通常当我在C中写任何东西时,我需要将一个char转换成一个int,我只需要一个新的int等于char。

我使用的代码(片段)

 string word;  
 openfile >> word;
 double lol=word;

我收到错误

Code1.cpp cannot convert `std::string' to `double' in initialization 

错误是什么意思呢?第一个字是数字50.谢谢:)

您可以将char转换为int和反之亦然,因为机器的int和char相同,8位,唯一的区别是当它们必须在屏幕上显示时,如果数字是65,并被保存为char,那么它将显示’A’,如果它被保存为int,它将显示65。

与其他类型的事情发生变化,因为它们在内存中的存储方式不同。 C中有标准功能,可以让您将字符串转换为双重容易,它是atof。 (你需要包含stdlib.h)

#include <stdlib.h>

int main()
{
    string word;  
    openfile >> word;
    double lol = atof(word.c_str()); /*c_str is needed to convert string to const char*
                                     previously (the function requires it)*/
    return 0;
}
http://stackoverflow.com/questions/4754011/c-string-to-double-conversion

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:C字符串进行双重转换