关于网友提出的“ 急!百分求救小问题:UINT8怎么转换成CHAR?”问题疑问,本网通过在网上对“ 急!百分求救小问题:UINT8怎么转换成CHAR?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 急!百分求救小问题:UINT8怎么转换成CHAR?
描述: 数据写入文件时用的是
struct {
UINT8 ucData1;
UINT8 ucData2;
}
请问怎么把数据读出来,并转为char类型?
用struct {
unsigned char ucDataA;
unsigned char ucDataB;
}
把数据读出来后,ucDataA是一个数字,请问怎么转为char,这里面有一个计算,不知道怎么算。求救!!!
解决方案1: 如果是想把这样的ucDataA=123;想变成相对应的字符,直接付值就行,也就是对应的ASCII,如果是想转换成字符串型的,就用CString的Format功能啊,例如:
CString t;
t.Format("%d",ucDataA);
如果想把其分解成字符型的数组就可以这样:
for(int i=0;i<>
{
char *p;
char e[t.GetLength()];
CString d;
d=t.GetAt(i);
p=(LPCTSTR)(LPTSTR)d;
e[i]=*p;
}
这样e字符数组中存储的就是这样的,e[0]为'1',e[1]为'2',e[2]为'3'了。
不知道这样能不能对你有帮助,祝你好运!
解决方案2: struct A{
UINT8 ucData1;
UINT8 ucData2;
}
struct B{
unsigned char ucDataA;
unsigned char ucDataB;
}
A a;
B b;
b.ucDataA = a.ucData1;
b.ucDataB = a.ucData2;
如果是字符,你就把ucData1,2加上字符的asci码上面相差的数就行了
解决方案3: 看看UINT8的定义吧,我估计是
typedef unsigned char UINT8;
呵呵,真不标准,为什么不用stdint.h呢?
以上介绍了“ 急!百分求救小问题:UINT8怎么转换成CHAR?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3110666.html