小编Joe*_*arr的帖子

如何删除QString的前两个字符

我如何删除QString的前两个字符,或者如果我必须将它放在StackOverflows外行的条款中:

QString str = "##Name" //output: ##Name
Run Code Online (Sandbox Code Playgroud)

output: Name
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经使用了这段小代码:

if(str.contains("##"))
{
    str.replace("##","");
}
Run Code Online (Sandbox Code Playgroud)

..但它不起作用,因为我需要在其他一些字符串中使用"##",但不是在开头.

前两个字符可能会出现"%$""#@",这主要是我需要删除前两个字符的原因.

有任何想法吗?

c++ qstring qt replace

6
推荐指数
2
解决办法
1万
查看次数

Qt - QStringList 到 QByteArray

QStringList转换为最有效的方法是什么QByteArray

我发现了很多类似转换的例子,但从来都不是我需要的,或者只是不必要地太复杂了。


该代码清理字符串输入,然后将其转换为QByteArray. 我正在为后一部分而苦苦挣扎。

void MainWindow::on_suicideButton_clicked()
{
    QString input = ui->lineEdit->text();
    try{
        if(ui->lineEdit->text().contains("0x")||ui->lineEdit->text().contains(",")||ui->lineEdit->text().contains("-"))
        {
            input = input.replace("0x","");
            if (input.contains(',')) input = input.replace(",", "");
            // QString trim = input.trimmed();
            // input = trim;//.split(',', ' ', '-');
            QStringList inputArray = input.split('-');
            QByteArray output = inputArray;
        }
        //printf("%s\n", input);

        ui->lineEdit->setText(input);
    }
    catch (const std::bad_alloc &) {input = " ";}
}
Run Code Online (Sandbox Code Playgroud)

QStringList inputArray = input.split('-'); 很重要(或者至少我相信如此),因为我需要将字节分割成单独的块,以便对它们执行各种操作。


这是一个示例,以便您了解我想要执行什么样的操作:

char MainWindow::checkSum(QByteArray &b)
{
    char val = 0x00;
    char i;
    foreach (i, …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt qbytearray

2
推荐指数
1
解决办法
6281
查看次数

标签 统计

c++ ×2

qstring ×2

qt ×2

qbytearray ×1

replace ×1