c++ - 将 int 转换为 char。没有存储正确的值

标签 c++ casting char int

我正在尝试将数字作为字符存储在名为 code 的字符 vector 中

code->at(i) = static_cast<char>(distribution(generator));

但是它没有按照我认为应该的方式存储

Value stored

对于某些人来说,'\x4' 不应该是 4 的 ascii 值吗?如果不是,我如何实现该结果?

这是另一个输入正确值的 vector 。 enter image description here

最佳答案

您在转换时并未实际将 int 转换为 char。你需要:

code->at(i) = distribution(generator) + '0';

关于c++ - 将 int 转换为 char。没有存储正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25948915/

相关文章:

c++ - 按指定的顺序迭代元组的元素

c++ - 如何制作一个简单的程序来输出两个符号 :one printed twice as the other using loops in C++? 的金字塔

c++ - 共享库中的符号

scala - 避免使用类型成员和子类型进行类型转换

C++ 将 bool 转换为 int - 标准

java - 顺序搜索二维char数组

c - 在 C 中创建良好的 IF 语句时遇到问题

c++ - 二维字符指针数组 --> 段错误?

c++ - GMOCK如何为函数参数赋值

postgresql - 结合 SUM 和 CAST - 不起作用?