将std :: string转换为char

时间:2016-02-26 17:33:08

标签: c++

有什么问题?

std::string _text = asLowerCaseString(text);
for(uint8_t i = 0; i < _text.length(); i++)
    {
    char t = _text;
    if(t != '-' && t != '.' && !(t >= 'a' && t <= 'z'))
        {
        _text.erase(i, 1);
        i--;
        }
    }

std::string words []= {".net","no-ip", ".net", ".com", ".com.br", ".org", ".pl", ".net"};
int ii, length;
length = sizeof(words)/sizeof(words[0]);
for(ii=0; ii < int(length); ii++)
    {
    if (int(_text.find(words[ii])) > 0 || _text == words[ii])
        {
        return false;
        break;
        }
    }

线路错误

char t = _text;

错误

  

没有转换函数“std :: string”是一个“char”合适的

我正在使用msvc 2012,这段代码在linux编译器下工作正常但不是windows。

1 个答案:

答案 0 :(得分:2)

没有从字符串到char的转换

char t = _text;

应替换为

char t = _text[i];