Копирование QString - PullRequest
       4

Копирование QString

1 голос
/ 02 марта 2012

Этот вопрос, вероятно, очень простой, но сегодня я столкнулся с ошибкой, говорящей

"ошибка: передача" const QChar "в качестве аргумента" this "в QChar & QChar :: operator = (const QChar) 'отбрасывает квалификаторы "

" Я не знаю, как это назначение дисквалифицирует копирование строки в строку, предопределенное Qt ide ".

, когда я былкопирование необходимых данных из одной строки в другую с использованием следующего кода

for(int i=reqposition;;i++)
{
    if(data.at(i)==',')
        break;

    temp.at(j)=data.at(i);  // ERROR IS HERE
    j++;
}

в чем проблема в этом коде.Есть ли другой эффективный способ копирования данных из одной строки из указанного индекса в другую строку.Как мне решить эту проблему.

Спасибо за ваше время!

Ответы [ 4 ]

4 голосов
/ 02 марта 2012
const QChar QString::at(int position);

Проблема в том, что вы не присваиваете строку; Вы присваиваете const QChar результат вызова QString::at(int).

Вместо этого вы хотите изменить ссылку: из документации QString:

QCharRef QString :: operator [] (int position) Возвращает символ в указанная позиция в строке как модифицируемая ссылка. Пример: QString str;

if (str [0] == QChar ('?')) str [0] = QChar ('_'); Возвращаемое значение имеет тип QCharRef, вспомогательный класс для QString. Когда вы получаете объект типа QCharRef, вы может использовать его, как если бы это был QChar &. Если вы назначите ему, назначение будет применяться к символу в QString, из которого вы получил ссылку.

1 голос
/ 02 марта 2012

Вы, вероятно, ищете метод mid из QString здесь :

Возвращает строку, содержащую n символов этой строки, начиная с указанного индекса позиции.

1 голос
/ 02 марта 2012

QString :: at возвращает const QChar.

Использование temp[j]=data.at(i);

0 голосов
/ 02 марта 2012

Это фрагмент фрагмента кода?В этом случае не лучше ли использовать функцию QString.split?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...