字符串数字16进制表达
DSP_2_HEX(UCHAR * dsp,UCHAR * hex,long count)
{int i;
int sTmpVal;
UCHAR buf[3];
for (i = 0 ; i < count ; i++)
{
memcpy(buf, &dsp[i * 2], 2);// memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
buf[2] = 0;
sscanf((char *)buf, "%02X", &sTmpVal); sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
hex[i] = (UCHAR) sTmpVal;
}
}
16进制字符串表达
/*
Function: HEX_2_DSP
hex(binary) data to dsp data
for example: hex={0x1A,0x2B,0x33,0x44},count=4,dsp="1A2B3344";
In Parameter: hex UCHAR[count] hex data
count long
Out Parameter: dsp UCHAR[2*count+1] dsp data 以null字符结束
Return: No return
*/
void CGwixfsToolView::HEX_2_DSP(UCHAR * hex,UCHAR * dsp,long count)
{
char buf[3];
int i;
for(i=0;i<count;i++){
sprintf(buf,"%02X",hex[i]);
memcpy(&dsp[i*2],buf,2);
}
dsp[2*count]=0x0;
}
字符数组转换为字符串
- #include <iostream>
- #include <string>
- using namespace std;
- int main(){
- char a[10]="aaaabbbba";
- string s(&a[0],&a[strlen(a)]);
- cout<<s<<endl;
- system("pause");
- }