crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QString
Гость_Гость_*
сообщение 6.3.2009, 20:26
Сообщение #1





Гости








    


    QString te=textEdit->toPlainText();
    char expressao[256];
    for(int j=0;j<te.size();j++)
         expressao[j]=te[j].toAscii();
        //  toAscii() неоходимо иначе
        //  error: cannot convert `QCharRef' to `char' in assignment


    const char *const ex=te.toAscii();
    char cc[]={ex[0],ex[1],sizeof(char),0};
    cc[0]+=1;
    cc[0]-=1;  // глядим в отладчике - чуш


    as((char*)(const char *const)te.toAscii());    
        // внутри as(char*) такойже код раьотает


querying-string-data гарантии на сохранение данных по указателю конечно не дает, но чтоб испортить в следующей строчке - это жестко.

А кто знает можно локаль подправить чтоб десятичная точка была, а не запятая. Есть методы кроме локаль "C"?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BRE
  опции профиля:
сообщение 6.3.2009, 21:57
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Гость @ 6.3.2009, 20:26) *
        QString te=textEdit->toPlainText();
    const char *const ex=te.toAscii();
    char cc[]={ex[0],ex[1],sizeof(char),0};
    cc[0]+=1;
    cc[0]-=1;  // глядим в отладчике - чуш


querying-string-data гарантии на сохранение данных по указателю конечно не дает, но чтоб испортить в следующей строчке - это жестко.


Все нормально.

#include <QDebug>

int main( int, char *[] )
{
        QString te = "test str";

        const char *const ex = te.toAscii();
        char cc[] = { ex[ 0 ], ex[ 1 ], sizeof( char ), 0 };
        qDebug( "%i", cc[ 0 ] );
        cc[ 0 ] += 1;
        qDebug( "%i", cc[ 0 ] );
        cc[ 0 ] -= 1;
        qDebug( "%i", cc[ 0 ] );

        return 0;
}


Цитата
116
117
116


Цитата(Гость @ 6.3.2009, 20:26) *
querying-string-data гарантии на сохранение данных по указателю конечно не дает, но чтоб испортить в следующей строчке - это жестко.

Кстати, тут работа идет с локальным массивом символов cc, а не с данными из te.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.2.2025, 16:23