QT5學習:字符串測試


#include <QCoreApplication>
#include <QTextStream>
#include <stdio.h>
#include <iostream>
#include <QDebug>

QTextStream cin(stdin, QIODevice::ReadOnly);
QTextStream cout(stdout, QIODevice::WriteOnly);
QTextStream cerr(stderr, QIODevice::WriteOnly);

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString str1 = "Hello";
    str1 += " world";
    //label2->setText(str1);
    QByteArray ba1 = str1.toLatin1();
    printf("ba1==%s\n",ba1.data());
    QString str2;
    str2 = QString("%1 is good %2").arg("QT").arg("Language");
    QByteArray ba2 = str2.toLatin1();
    printf(ba2.data());

    /////////////////////////////////測試字符串char*轉QString
    const char *cstr = "hello";
    QString qstr= QString(QLatin1String(cstr));
    cout << "\tqstr==" << qstr << endl;//必須加endl才能輸出

    /////////////////////////////////測試字符串函數
    QString str3 = "hello";
    str3.insert(1,"world");
    cout << str3 << endl;//必須加endl才能輸出
    QString str4 = "hello";
    str4.prepend("world");
    cout << str4 << endl;//必須加endl才能輸出
    QString str5 = "hello";
    str5.replace(1,2,"ww");
    //label2->setText(str5);
    cout << "str5==" << str5 << endl;//必須加endl才能輸出
    printf("a==%s\n",str5);

    /////////////////////////////////測試字符串
    QString str6 = "hello,world";
    QByteArray ba6 = str6.toLatin1();//toAscii()返回一個QByteArray類型
    const char* strData = ba6.data();
    //std::cout << strData << endl;//QT中:std::cout輸出有問題、後面跟一堆亂七八糟的數字
    //cout << "strData==" << strData << endl;
    qDebug() << "strData==" << strData;//qDebug也可以輸出語句
    //其它類型變量還是可以照常輸出的。
    QString str7 = "125";
    bool ok;
    int iValue7 = str7.toInt(&ok, 16);//0x125==293
    qDebug() << "iValue7==" << iValue7 << endl;

    return a.exec();
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章