您好?我想知道“如何将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转换成字符串吗?
答案 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.";