将char转换为字符串

时间:2014-11-20 12:02:38

标签: c++ string char

您好?我想知道“如何将char转换为字符串”

这是我的C代码

    string firSen;
    int comma1=0;
    cout<<"Please write your sentence"<<endl;
    getline(cin,first);
    int a=firSen.first("string");

    for(i=a;firSen[i] != ',';i++)
        comma1=i;
    cout<<firSen[comma1-3]<<firSen[comma1-2]<<firSen[comma1-1]<<endl;

我会写“字符串是100s,谢谢你”

我知道firSen [comma1-3] = 1,firSen [comma1-2] = 0,firSen [comma1-1] = 0表示char类型。

我想将这些字符串放入字符串中 (比如1,0,0到100的字符串)因为我想使用atoi功能....

你知道如何将char转换成字符串吗?

2 个答案:

答案 0 :(得分:1)

您可以使用std::istringstream代替atoi。 像这样:

std::istringstream ss(firSen.substr(comma1-3)); int val; ss >> val;

答案 1 :(得分:1)

在这种情况下,如果您知道所需的位置和长度,则只需提取子字符串:

std::string number(firSen, comma1-3, 3);

并使用C ++ 11转换函数将其转换为整数类型:

int n = std::stoi(number);

或者,历史上,字符串流:

int n;
std::stringstream ss(number);
ss >> n;

或者,如果你想成为真正的老派,那么C库

int n = std::atoi(number.c_str());

还有其他构建字符串的方法。您可以从字符列表中初始化它:

std::string number {char1, char2, char3};

您可以追加字符和其他字符串:

std::string hello = "Hello";
hello += ',';
hello += ' ';
hello += "world!";

或使用字符串流,它也可以格式化数字和其他类型:

std::stringstream sentence;
sentence << "The string is " << 100 << ", thank you.";