QByteArray があり、最初の 4 行を削除する必要があります。たとえば、正規表現でそれを行うことができますが、もっと簡単な方法はありますか?
UPD: QByteArray の最初の行 (4 行以上) はテキストで、最後に '\n' があります。
QByteArray があり、最初の 4 行を削除する必要があります。たとえば、正規表現でそれを行うことができますが、もっと簡単な方法はありますか?
UPD: QByteArray の最初の行 (4 行以上) はテキストで、最後に '\n' があります。
'\n' の 4 番目の出現箇所を検索し ( int QByteArray::indexOf ( char ch, int from = 0 ) const を使用)、その位置までのバイトを削除します ( QByteArray & QByteArray::remove ( int pos, int len ))?
編集:テストされていませんが、これらの行に沿った何か:
QByteArray ba("first\nsecond\nthird\nfourth\nfifth");
size_t index = 0;
unsigned occur = 0;
while ((index = ba.indexOf('\n', index)) >= 0){
++occur;
if (occur == 4){
break;
}
}
if (occur == 4){
ba.remove(0, index + 1);
}