C++:如何将'const char*'转换为字符

C++: How to convert 'const char*' to char

本文关键字:转换 字符 char const C++      更新时间:2023-10-16

我知道在StackOverflow上有很多这样的问题,但我找不到任何有助于解决我的情况的问题。每当我尝试做这样的事情时:

// str = some string or char array
// some magic to get around fpermissive errors
stringstream convert;
convert << str;
// capture the stream's temporary string
const string store = convert.str();
// get a manageable array
const char* temp = store.c_str();

然后尝试做类似 atoi(temp[0]) 的事情,我不断收到经典的转换错误,即 char 无法转换为 const char。在atoi和许多其他函数的文档中,const char 是必需参数。如果只有一个常量字符,如何发送字符?检索特定位置的字符会自动转换为字符吗?

我不确定这是否是导致错误的原因,但 atoi 将参数不是字符,而是指向一个字符的指针。所以而不是 阿托伊(温度[0])

试试这个

atoi(&temp[0])

因为这是一个指针。