需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体

Need help converting a string to a char in c++ ---- ERROR A value of type "const char *" cannot be used to initialize an entity of type "char"

本文关键字:char 类型 const 实体 初始化 用于 不能 错误 ---- c++ 帮助      更新时间:2023-10-16
bool isValidPrice(string s) 
{
char c = s.c_str();
return true;
}

我正在尝试将字符串转换为字符,但收到错误

类型为"const char *"的值不能用于初始化类型为"char"的实体

如何成功地将字符串 s 转换为字符 c?

编辑**** 我想从字符串中放入每个单独的字符并将整个字符串转换为 c 字符串,以便我可以使用 cctype 使用 c 字符串函数。

你不能加载一个字符(通常是8位(,这是一个值,指针(32位或64位,取决于你的配置(是一个地址(s.c_str((返回字符串的起始地址(。如果要从字符串中提取某些字符,例如索引为0的字符,则可以执行以下操作:

char c = s[0];

假设字符串 s 不为空

从方法名称中,我了解到您要验证产品的价格。但是这段代码不是要检查的东西。因为如果s = "&"那么你的代码返回 true,这应该是假的。此外,您仅检查第一个字符。对吗?我假设您将以有效的整数格式给出。

bool isValidPrice(string s) 
{
if(s.length() == 0) 
return false;
char c = s[0];
return true;
}
相关文章: