将char转换为ascii值

时间:2015-11-02 09:12:48

标签: c++ string ascii

我知道这是一个愚蠢的问题,但它没有解决,我正在谷歌搜索,但这也没有帮助。我想从我的字符串中选择子字符串,然后将其转换为ASCII值,但它显示错误:

int a=char(S.substr(i-1,1));
        int b=S.substr(i ,1);
      if (( a== 13) && (b== 10))
        break;  

这是我的错误:

  

pdusms.cpp:1020:错误:从'std :: basic_string'类型转换为'char'类型无效                int a = char(S.substr(i-1,1));
  pdusms.cpp:1021:错误:从'const char *'到'int'的无效转换[-fpermissive]                int b = S.substr(i,1).c_str();                                           ^
  我怎样才能做到这一点?如何将char更改为int(显示ASCII值)

1 个答案:

答案 0 :(得分:2)

substr的结果是字符串,而不是字符 单字符字符串不是字符。

使用索引来获取字符。

你想要

int a = S[i-1];
int b = S[i];

但如果您要查找行分隔符,则不应与ASCII值进行比较 - 使用

if (S[i-1] == '\r' && S[i] == '\n')

便携式。