c++控制台打印16进制的数据,16进制报文写入文件
控制台打印16进制的数据
#include "Ex1.h"
#include<iostream>
#include<pthread.h>
#include<stdlib.h>
#include<stdio.h>
#include <cstring>
using namespace std;
double ff=-311.3288785925;
unsigned int p1,p2;
unsigned char dd[10]={
0x01,0x04,0xde,0xcb,0x44,0x56,0xfd
};
unsigned char ss[1000];
string ss1;
void func1(){
for(uint16_t i=0;i<10;i++){
sprintf((char *)(ss+i*3),"%02x ",dd[i]);
}
for(uint16_t i=0;i<strlen((const char*)ss);i++){
ss1 +=ss[i];
}
}
int main()
{
string str="Date: "__DATE__;
string strT="Time: "__TIME__;
char str2[10];
cout<<str<<endl;
cout<<strT<<endl;
cout<<to_string(ff)<<endl;
cout<<to_string(0xfe)<<endl;
func1();
cout<<ss<<endl;
cout<<ss1<<endl;
return 0;
}
16进制报文写入文件
vector<int> datas;//数据源
datas.push_back((int)0x11);
datas.push_back((int)0x10);
datas.push_back((int)0x15);
datas.push_back((int)0x16);
datas.push_back((int)0x17);
//记录16进制
unsigned char ss[2000];
string ss1;
for (int i = 0; i < datas.size(); i++)
{
//===========//记录bao================
sprintf((char *)(ss+i*3),"%02x ",(datas[i] & 0x000000ff));
//===============================
}
//============//记录bao=================
for(uint16_t i=0;i<strlen((const char*)ss);i++){
ss1 +=ss[i];
}
cout<<ss1<<endl;
16进制报文写入文件
unsigned char dd[7]={
0x01,0x04,0xde,0xcb,0x44,0x56,0xfd
};
unsigned char ss7[1000];
string ss17;
for(uint16_t i=0;i<7;i++){
sprintf((char *)(ss7+i*3),"%02x ",dd[i]);
}
for(uint16_t i=0;i<strlen((const char*)ss7);i++){
ss17 +=ss7[i];
}
cout<<ss17<<endl;
版权声明:本文为qq_15204179原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。