私は C++ と Qt の初心者です。送信されたデータは ASCII 文字の文字列です ex:"jdlsfjffjf: XX" ここで番号 XX を抽出したいと思います。indexof を使用してそれを指す必要があることはわかっていますが、その方法はわかりません。方向性は?以下は、受信、表示、および書き込みを行うサーバー側のコードです。アプリケーションでは正しい数値を取得できますが、書き込み先のファイルには意味不明な文字が含まれています。
void Receiver::processPendingDatagrams()
{
while (udpSocket->hasPendingDatagrams()) {
QByteArray datagram; //array of bytes
datagram.resize(udpSocket->pendingDatagramSize()); //size it depending on sent data
udpSocket->readDatagram(datagram.data(), datagram.size()); //read all
statusLabel->setText(tr("%1 C").arg(datagram.data()));
//writing stream to file
bool ok;
QFile file("file.dat");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << datagram.toInt(&ok, 10 );
}