C 2字节阵列计算(char阵列,字符串和整数)
C++ 2 Byte Array Calculations (char arrays, strings and integers)
在C 中,我有两个数组:
char width[2]
char height[2]
我的价值(十六进制)是:
width[0]= 01
width[1] = 00
height[0] = 00
height[1]= A8
尺寸为256x168。我很难将两个char值组合到一个字符串中,然后将该字符串转换为"组合"整数以进行以后的操作。
我尝试了以下没有成功:
string sImageWidth = string() + width[0] + width[1];
string sImageHeight = string() + height[0] + height[1];
和...
std::stringstream ssImageWidth;
ssImageWidth << width[0] << width[1];
std::string sImageWidth = ssImageWidth.str();
我在做什么错?还有另一种方法吗?我是C 的新手,将我的头围绕来自C#背景的C 。谢谢!
您的作业应为格式:
<char_pos> = 0x<value>;
如果您在谈论十六进制值。我假设这只是问题的错别字,否则您将遇到其他问题。
您是否在乎字符串值?如果您这样做,您可以完全跳过转换为字符串...
int H{(height[0] << 8) | height[1]};
对于转换为字符串Google" String Stream",它将允许您执行类似的内容,然后完成后将其转换为字符串。
如果您希望字符串作为两个字符,这将有效:
string sImageWidth = string() + width[0] + width[1];
string sImageHeight = string() + height[0] + height[1];
由于字符串的 运算符可以处理char。如果您希望字符串是字符的实际数字值,则需要一些解析,例如
std::string width = std::to_string(static_cast<int>(width[0])) + std::to_string(static_cast<int>(width[1]))
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 最接近的字符串:在字符串阵列中找到2个字符串之间的最小距离
- 界面设计:超载功能的安全性采用字符串和字符阵列
- 将字符串阵列中的字符转换为浮点
- 恒定字符阵列的获取字符串长度函数(strlen)不是恒定表达式
- 打印我的字符串阵列时,会遇到细分错误
- MBED RTOS将Float转换为字符串/字符阵列
- 删除指向排序的字符串阵列的指针会在运行后会有一个错误
- 存储文件中的字符串,但是数组仍然为空?阵列大小的循环
- 阵列不能两次将相同的名称保存,当要添加新字符串时,程序应检查以查看该名称是否已经存在
- 悬挂式C 打印形状来自字符串阵列
- 将整数转换为阵列(包括领先的零),而无需使用字符串
- C 排序字符串的动态阵列 - 排序不起作用
- 初始化字符串矢量阵列时的错误
- 动态字符串阵列构造函数和空返回
- C 2字节阵列计算(char阵列,字符串和整数)
- 如何将一组十六进制字符串转换为字节阵列
- 在JNI呼叫中使用后,应删除/释放JarrayObject(字符串阵列)
- 为什么打印字符串阵列输出十六进制
- 如何随机将装满字符串的阵列随机?C