【发布时间】:2016-09-14 06:11:56
【问题描述】:
正如标题所说,我正在尝试将 substr 转换为 char。最终我要做的是用 substr 告诉它是一个大写或小写字母,我得到的提示是最好的方法是使用 ascii 值。这就是我所拥有的
for(int i = 0; i<length; i++){
char a = a.substr(i,1);
if(a>=65&&a<=90){
uppercase++;
}
}
我在这里收到此错误:
string_info.cpp:34:16: error: member reference base type 'char' is not a
structure or union
char a = a.substr(i,1);
我知道它不起作用,因为 substr 输出的是字符串而不是字符,但我不明白如何获取这些 ascii 值。有人有什么想法吗?
【问题讨论】:
-
substr将返回一个std::string,而不是一个字符。您可以将 substr 与[ ]运算符结合使用,也可以直接在源字符串上使用它... -
if (a>=65&&a<=90)-->if( (a>='A') && (a<='Z') ) -
@Blacktempel 不会让它成为一个数组吗?我试图避免使用数组。
-
a 是 char 类型,substr 是使用字符串对象调用的函数。
-
你能详细说明你的问题吗?