C++ (Qt)QString s;QStringList numbers = s.split(QRegExp("[, ]+"));
C++ (Qt)foreach (QString number, numbers){ bool ok; ushort n = number.toUShort(&ok, 16); if (ok) { // n - твое число }}
ushort s_rch[10];s = ui->plainTextEdit->toPlainText(); QStringList numbers = s.split(QRegExp("[, ]+")); foreach (QString number, numbers) { bool ok; ushort n = number.toUShort(&ok, 16); if (ok) { s_rch[inc] = n;// n - твое число inc++; } }
unsigned char crc8Res( unsigned char *data , unsigned int len ){unsigned char crc = 0x00;while( len-- ){crc = crc8TableA[ crc ^ *data++ ];}return crc;}
QByteArray ba; const unsigned char* a = reinterpret_cast<const unsigned char*>(ba.constData()); unsigned char* b = reinterpret_cast<unsigned char*>(ba.data());
unsigned char crc_out, inc, s_ch[20], inc_ch;QString s, s_reg;ushort s_rch[10];unsigned char crc8Res( unsigned char *data , unsigned int len ){unsigned char crc = 0x00;while( len-- ){crc = crc8TableA[ crc ^ *data++ ];}return crc;}void CRC::on_pushButton_clicked(){ s = ui->plainTextEdit->toPlainText(); QStringList numbers = s.split(QRegExp("[, ]+")); foreach (QString number, numbers) { bool ok; ushort n = number.toUShort(&ok, 16); if (ok) { s_rch[inc] = n; inc++; } } crc_out = crc8Res(reinterpret_cast<unsigned char*>(s_rch),inc); //Здесь пытаюсь передать переменные через указатели в функцию. Но в отладчике вижу, что предается совсем не то. Тоесть какие-то указатели предаются, но явно не на переменные с массива s_rch. ui->label->setText( QString::number(crc_out,16) ); inc = 0;}
C++ (Qt)unsigned char crc8Res( const unsigned short *data, int len ){ unsigned char crc = 0; for (int i = 0; i < len; ++i) { crc = crc8TableA[crc ^ (data[i] & 0xFF) ]; crc = crc8TableA[crc ^ ((data[i] >> 8) & 0xFF) ]; } return crc;}
C++ (Qt)unsigned short MyCRC( const unsigned short *data, int len ){ if (!len) return 0; unsigned short crc = data[0] ^ 0xAA; for (int i = 1; i < len; ++i) crc ^= data[i]; return crc;}
ushort s_rch[10];... foreach (QString number, numbers) { bool ok; ushort n = number.toUShort(&ok, 16); if (ok) { s_rch[inc] = n; inc++; } }
C++ (Qt)QVector <unsigned short> s_rch;
C++ (Qt) QByteArray ba = ui->plainTextEdit->toPlainText().toAscii(); const char * src = ba.constData();