我的要求是加入两个字符。例如
int main()
{
char c1 ='0';
char c2 ='4';
char c3 = c1+c2;
cout<< c3;
}
Run Code Online (Sandbox Code Playgroud)
我期望的值是 04。但我得到的是d. 我知道 char 是单字节。我的要求是在 C3 的单个字节中可以合并/加入/连接 c1,c2 并将值存储为 04
Achar不是string。因此,您可以先将第一个字符转换为字符串,然后添加下一个字符,例如:
int main()
{
char c1 ='0';
char c2 ='4';
auto c3 = std::string(1,c1)+c2;
std::cout<< c3;
}
Run Code Online (Sandbox Code Playgroud)
什么是“魔力” std::string(1,c1):它使用形式的std :: string构造函数:std::string::string (size_t n, char c);。所以它用给定的 c1 的一个字符“填充”字符串,即0.
如果添加字符,则会得到添加其数值的结果,即:
int main() {
std::cout << (int)c1 << std::endl;
std::cout << (int)c2 << std::endl;
std::cout << (int)c1+c2 << std::endl;
std::cout << char(c1+c2) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
int from 的数值0是 48,from4是 52。两者相加得到 100。100 是dASCII 编码。
您想要的称为字符串。有很多方法可以在C++. 一种方法是使用std::string标准库中的类:
char c1 = '0';
char c2 = '4';
std::string s; // an empty string
s += c1; // append the first character
s += c2; // append the second character
cout << s; // print all the characters out
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16553 次 |
| 最近记录: |