< QT >
1. [형변환] char* to QBytearray & QBytearray to char*
1.1 char* to QBytearray
char* char* To QByteArray
QByteArray databuf;
1) databuf = QByteArray(reinterpret_cast<char*>(buf), 10);
2) databuf = QByteArray((char*)buf, 10);
3) databuf = QByteArray::fromRawData(buf, 10);
1.2 QBytearray to char*
QByteArray To char*
QByteArray data;
1) const std::size_t count = data.size();
2) unsigned char* hex =new unsigned char[count];
3) std::memcpy(hex,data.constData(),count);
4) char* pData = data.data();
2. QString to char* || char* to QString
2.1. QString to char 배열
QString k = "CRAZYYYQT";
char ab[16];
sprintf(ab,"%s",(const char *)((QByteArray)(k.toLatin1()).data()) );
sprintf(ab,"%s",(const char *)((QByteArray)(k.toStdString()).data()));
sprintf(ab,"%s",(const char *)k.toStdString().c_str() );
또는 strcpy 함수를 사용하여
strcpy( ab, k.toStdString().c_str());
toLatin1() 함수의 리턴 type이 QByteArray 객체이다.
2.2. QString to char 포인터
char 포인터를 사용할 때 주의할 점은 const type 으로 지정해줘야 한다.
QString k = "CRAZYYYQT";
const char* p = k.toStdString().c_str();
2.3. char 포인터 to QString
char* ch = "ABC";
QString str = QString(ch);
QString str2 = QString("%1").arg(ch);
QString str3 = QString::fromUtf8(ch);
댓글 없음:
댓글 쓰기