crossplatform.ru

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

> QString -> char
Гость_Игорь_*
сообщение 30.10.2010, 18:02
Сообщение #1





Гости








    


Здравствуйте, программисты!
Вот сложность возникла. Нужно написать прогу кроссплатформенную на Qt, но там не все прокатывает, что прокатывает в обычном С++. Вот код:

    string user="Строчка";
    char* qwe1;
    int i=0;
    for(i=0;user[i]!=0;i++){};
    qwe1=new char[i];
    for(int j=0;user[j]!=0;j++)qwe1[j]=user[j];


В обычном си++ компилит нормально и запускается, а здесь компилятор ругается. Он показывает на последнюю строчку и пишет "cannot convert "QCharRef' to 'char' in assignment". Что делать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Игорь_*
сообщение 30.10.2010, 18:24
Сообщение #2





Гости








    


Да это я продолжаю темы из предыдущего топика, где мне надо было в командную строку передать команды.
Прошу прощения, пример вытащил, не задумываясь о синтаксисе, из обычного с++. Вот как код выглядит у меня в Qt:

//#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QProcess>

int main(int argc, char *argv[])
{
    QString user="Администратор";
    QString pass="123";
    QString qwe2="net user ";
    char a[]=" ";
    char* qwe1;
    int i=0;
    for(i=0;user[i]!=0;i++)qwe2[9+i]=user[i];
    i=i+9;
    for(int j=0;a[j]!=0;j++)qwe2[i+j]=a[j];
    i++;
    int j=0;
    for(j=0;pass[j]!=0;j++)qwe2[j+i]=pass[j];

    //первый вариант моей пробы
    qwe1=new char[i];
    for(int j=0;user[j]!=0;j++)qwe1[j]=user[j];

    system(qwe1);

    return 0;
}


        //Второй вариант пробы
        qwe1=new char[qwe2.size()+1];
        strcpy (qwe1, qwe2.c_str());


Во втором варианте компиль нугается: "'class QString' has no member named 'c_str'"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 30.1.2025, 5:52