char* 및 unsigned 변환

char*와 unsigned 간의 변환이 오랫동안 성공하지 못했으며 마지막 필수 유형 변환이 성공했습니다.

char *tem = new char[4];

unsigned* ret =(unsigned*)tem;//이렇게 변환해야 하는데 unsigned ret = unsigned(*tem) 은 사실 틀렸어 누가 답을 줄 수 있을지 모르겠어

또한 c에서는 문자열과 문자 배열 사이에 차이가 있습니다. http://c.biancheng.net/view/337.html을 참조하세요.

약간의 경험 첨부:

template<class T>
void put_val(std::string& buf, T val) {     buf.append((unsigned char*)&val, (unsigned char*)&val + sizeof(T)); }

   std::string b3dm_buf;
    b3dm_buf += "b3dm";
    cout << "b3dm_buf 길이:"<<b3dm_buf.length() << endl;
    정수 버전 = 1;
    put_val(b3dm_buf, 버전);

위의 append() 함수의 두 매개변수는 unsigned char*의 처음과 마지막 주소이며, put_val은 먼저 T 유형을 unsigned char* 유형으로 변환한 다음 문자를 buf에 추가합니다.
--------------------- 
저자: Juvenile Ignorant 123 
출처: CSDN  원본
: https://blog.csdn.net/sinat_34816302/article/details/84544345 

추천

출처blog.csdn.net/sinat_34816302/article/details/84553436