亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qlocale.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qplatformdefs.h"#include "qdatastream.h"#include "qstring.h"#include "qlocale.h"#include "qlocale_p.h"#include "qnamespace.h"#include "qdatetime.h"#include "qstringlist.h"#include "qvariant.h"#if defined(Q_WS_WIN)#   include "qt_windows.h"#   include <time.h>#endif#if !defined(QWS) && defined(Q_OS_MAC)#   include "private/qcore_mac_p.h"#endif#include "private/qnumeric_p.h"#include <ctype.h>#include <float.h>#include <limits.h>#include <math.h>#include <stdlib.h>#include <qdebug.h>#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)#    include <fenv.h>#endif#if !defined(QT_QLOCALE_NEEDS_VOLATILE)#  if defined(Q_CC_GNU)#    if  __GNUC__ == 4 && __GNUC_MINOR__ == 0#      define QT_QLOCALE_NEEDS_VOLATILE#    elif defined(Q_OS_WIN)#      define QT_QLOCALE_NEEDS_VOLATILE#    endif#  endif#endif#if defined(QT_QLOCALE_NEEDS_VOLATILE)#   define NEEDS_VOLATILE volatile#else#   define NEEDS_VOLATILE#endif// Sizes as defined by the ISO C99 standard - fallback#ifndef LLONG_MAX#   define LLONG_MAX Q_INT64_C(0x7fffffffffffffff)#endif#ifndef LLONG_MIN#   define LLONG_MIN (-LLONG_MAX - Q_INT64_C(1))#endif#ifndef ULLONG_MAX#   define ULLONG_MAX Q_UINT64_C(0xffffffffffffffff)#endif#define CONVERSION_BUFF_SIZE 255#ifndef QT_QLOCALE_USES_FCVTstatic char *qdtoa(double d, int mode, int ndigits, int *decpt,                        int *sign, char **rve, char **digits_str);static char *_qdtoa( NEEDS_VOLATILE double d, int mode, int ndigits, int *decpt,                        int *sign, char **rve, char **digits_str);static double qstrtod(const char *s00, char const **se, bool *ok);#endifstatic qlonglong qstrtoll(const char *nptr, const char **endptr, register int base, bool *ok);static qulonglong qstrtoull(const char *nptr, const char **endptr, register int base, bool *ok);/******************************************************************************** Helpers for accessing Qt locale database*/#include "qlocale_data_p.h"static QLocale::Language codeToLanguage(const QChar *code){    ushort uc1 = code[0].unicode();    ushort uc2 = code[1].unicode();    const unsigned char *c = language_code_list;    for (; *c != 0; c += 2) {        if (uc1 == c[0] && uc2 == c[1])            return QLocale::Language((c - language_code_list)/2);    }    return QLocale::C;}static QLocale::Country codeToCountry(const QChar *code){    ushort uc1 = code[0].unicode();    ushort uc2 = code[1].unicode();    const unsigned char *c = country_code_list;    for (; *c != 0; c += 2) {        if (uc1 == c[0] && uc2 == c[1])            return QLocale::Country((c - country_code_list)/2);    }    return QLocale::AnyCountry;}static QString languageToCode(QLocale::Language language){    if (language == QLocale::C)        return QLatin1String("C");    QString code;    code.resize(2);    const unsigned char *c = language_code_list + 2*(uint(language));    code[0] = ushort(c[0]);    code[1] = ushort(c[1]);    return code;}static QString countryToCode(QLocale::Country country){    if (country == QLocale::AnyCountry)        return QString();    QString code;    code.resize(2);    const unsigned char *c = country_code_list + 2*(uint(country));    code[0] = ushort(c[0]);    code[1] = ushort(c[1]);    return code;}static const QLocalePrivate *findLocale(QLocale::Language language, QLocale::Country country){    unsigned language_id = language;    unsigned country_id = country;    uint idx = locale_index[language_id];    const QLocalePrivate *d = locale_data + idx;    if (idx == 0) // default language has no associated country        return d;    if (country == QLocale::AnyCountry)        return d;    Q_ASSERT(d->languageId() == language_id);    while (d->languageId() == language_id                && d->countryId() != country_id)        ++d;    if (d->countryId() == country_id            && d->languageId() == language_id)        return d;    return locale_data + idx;}static void getLangAndCountry(const QString &name, QLocale::Language &lang, QLocale::Country &cntry){    lang = QLocale::C;    cntry = QLocale::AnyCountry;    uint l = name.length();    do {        if (l < 2)            break;        const QChar *uc = name.unicode();        if (l > 2                && uc[2] != QLatin1Char('_')                && uc[2] != QLatin1Char('.')                && uc[2] != QLatin1Char('@'))            break;        QChar lang_code[2];        lang_code[0] = uc[0];        lang_code[1] = uc[1];        // CLDR has changed the code for Bokmal from "no" to "nb". We want to support        // both, but we have no alias mechanism in the database.        if (lang_code[0] == QLatin1Char('n') && lang_code[1] == QLatin1Char('b'))            lang_code[1] = QLatin1Char('o');        lang = codeToLanguage(lang_code);        if (lang == QLocale::C)            break;        if (l == 2 || uc[2] == QLatin1Char('.') || uc[2] == QLatin1Char('@'))            break;        // we have uc[2] == '_'        if (l < 5)            break;        if (l > 5 && uc[5] != QLatin1Char('.') && uc[5] != QLatin1Char('@'))            break;        cntry = codeToCountry(uc + 3);    } while (false);}static const QLocalePrivate *findLocale(const QString &name){    QLocale::Language lang;    QLocale::Country cntry;    getLangAndCountry(name, lang, cntry);    return findLocale(lang, cntry);}static QString readEscapedFormatString(const QString &format, int *idx){    int &i = *idx;    Q_ASSERT(format.at(i).unicode() == '\'');    ++i;    if (i == format.size())        return QString();    if (format.at(i).unicode() == '\'') { // "''" outside of a quoted stirng        ++i;        return QLatin1String("'");    }    QString result;    while (i < format.size()) {        if (format.at(i).unicode() == '\'') {            if (i + 1 < format.size() && format.at(i + 1).unicode() == '\'') {                // "''" inside of a quoted string                result.append(QLatin1Char('\''));                i += 2;            } else {                break;            }        } else {            result.append(format.at(i++));        }    }    if (i < format.size())        ++i;    return result;}static int repeatCount(const QString &s, int i){    QChar c = s.at(i);    int j = i + 1;    while (j < s.size() && s.at(j) == c)        ++j;    return j - i;}static const QLocalePrivate *default_lp = 0;#ifndef QT_NO_SYSTEMLOCALEstatic QByteArray envVarLocale(){    static QByteArray lang = 0;#ifdef Q_OS_UNIX    lang = qgetenv("LC_ALL");    if (lang.isNull())        lang = qgetenv("LC_NUMERIC");    if (lang.isNull())#endif        lang = qgetenv("LANG");    return lang;}#if defined(Q_OS_WIN)/******************************************************************************** Wrappers for Windows locale system functions*/static const char *winLangCodeToIsoName(int code);static QString winIso639LangName(LCID id = LOCALE_USER_DEFAULT);static QString winIso3116CtryName(LCID id = LOCALE_USER_DEFAULT);static QString getWinLocaleInfo(LCTYPE type){    int cnt = 0;    LCID id = GetThreadLocale();    QT_WA({        cnt = GetLocaleInfoW(id, type, 0, 0)*2;    } , {        cnt = GetLocaleInfoA(id, type, 0, 0);    });    if (cnt == 0) {        qWarning("QLocale: empty windows locale info (%d)", (int)type);        return QString();    }    QByteArray buff(cnt, 0);    QT_WA({        cnt = GetLocaleInfoW(id, type,                                reinterpret_cast<wchar_t*>(buff.data()),                                buff.size()/2);    } , {        cnt = GetLocaleInfoA(id, type,                                buff.data(), buff.size());    });    if (cnt == 0) {        qWarning("QLocale: empty windows locale info (%d)", (int)type);        return QString();    }    QString result;    QT_WA({        result = QString::fromUtf16(reinterpret_cast<ushort*>(buff.data()));    } , {        result = QString::fromLocal8Bit(buff.data());    });    return result;}QByteArray getWinLocaleName(LCID id = LOCALE_USER_DEFAULT){    QByteArray result;    if (id == LOCALE_USER_DEFAULT) {        result = envVarLocale();        if ( !result.isEmpty() ) {            long id = 0;            bool ok = false;            id = qstrtoll(result.data(), 0, 0, &ok);            if ( !ok || id == 0 || id < INT_MIN || id > INT_MAX )                return result;            else                return winLangCodeToIsoName( (int)id );        }    }    if (QSysInfo::WindowsVersion == QSysInfo::WV_95) {        result = winLangCodeToIsoName(id != LOCALE_USER_DEFAULT ? id : GetThreadLocale());    } else {        if (id == LOCALE_USER_DEFAULT)            id = GetThreadLocale();        QString resultuage = winIso639LangName(id);        QString country = winIso3116CtryName(id);        result += resultuage.toLatin1();        if (!country.isEmpty()) {            result += '_';            result += country.toLatin1();        }    }    return result;}Q_CORE_EXPORT QLocale qt_localeFromLCID(LCID id){    return QLocale(getWinLocaleName(id));}static QString winToQtFormat(const QString &sys_fmt){    QString result;    int i = 0;    while (i < sys_fmt.size()) {        if (sys_fmt.at(i).unicode() == '\'') {            QString text = readEscapedFormatString(sys_fmt, &i);            if (text == QLatin1String("'"))                result += QLatin1String("''");            else                result += QChar('\'') + text + QChar('\'');            continue;        }        QChar c = sys_fmt.at(i);        int repeat = repeatCount(sys_fmt, i);        switch (c.unicode()) {            // Date            case 'y':                if (repeat > 5)                    repeat = 5;                else if (repeat == 3)                    repeat = 2;                switch (repeat) {                    case 1:                        result += QLatin1String("yy"); // "y" unsupported by Qt, use "yy"                        break;                    case 5:                        result += QLatin1String("yyyy"); // "yyyyy" same as "yyyy" on Windows                        break;                    default:                        result += QString(repeat, QLatin1Char('y'));                        break;                }                break;            case 'g':                if (repeat > 2)                    repeat = 2;                switch (repeat) {                    case 2:                        break; // no equivalent of "gg" in Qt                    default:                        result += QLatin1Char('g');                        break;                }                break;            case 't':                if (repeat > 2)                    repeat = 2;                result += QLatin1String("AP"); // "t" unsupported, use "AP"                break;            default:                result += QString(repeat, c);                break;        }        i += repeat;    }    return result;}static QString winDateToString(const QDate &date, DWORD flags){    SYSTEMTIME st;    memset(&st, 0, sizeof(SYSTEMTIME));    st.wYear = date.year();    st.wMonth = date.month();    st.wDay = date.day();    LCID id = GetThreadLocale();    QT_WA({        TCHAR buf[255];        if (GetDateFormatW(id, flags, &st, 0, buf, 255))            return QString::fromUtf16((ushort*)buf);    } , {        char buf[255];        if (GetDateFormatA(id, flags, &st, 0, (char*)&buf, 255))            return QString::fromLocal8Bit(buf);    });    return QString();}static QString winTimeToString(const QTime &time)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡在线视频中文字幕| 国产婷婷色一区二区三区在线| 99久久精品国产导航| 成人综合在线观看| 成人永久免费视频| 福利视频网站一区二区三区| 国产精品1区2区3区| 国产一区二区日韩精品| 国产福利91精品| 国产成人av电影在线| 成人爽a毛片一区二区免费| 粉嫩av亚洲一区二区图片| 国产精品99久| 99精品一区二区| 91福利在线观看| 7777精品伊人久久久大香线蕉 | 精品国产免费人成在线观看| 欧美一区二区三区播放老司机| 欧美一级专区免费大片| 精品久久一区二区三区| 国产人久久人人人人爽| 国产精品国产三级国产普通话三级 | 久久er99精品| 国产精品综合av一区二区国产馆| 成人国产精品视频| 一本色道久久综合亚洲精品按摩| 欧美性videosxxxxx| 欧美一级黄色录像| 国产精品私人自拍| 亚洲一区av在线| 久久成人羞羞网站| proumb性欧美在线观看| 欧美午夜一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲国产精品黑人久久久| 亚洲精品免费在线| 久久99精品久久久久久| 成人午夜精品在线| 欧美日韩一区二区三区在线| 欧美www视频| 亚洲美女区一区| 久久国产福利国产秒拍| av不卡在线播放| 制服.丝袜.亚洲.另类.中文| 久久久99精品久久| 亚洲一区二区三区美女| 国内久久精品视频| 色欧美乱欧美15图片| 久久综合狠狠综合久久激情| 亚洲裸体xxx| 精品亚洲成a人| 欧美在线观看视频一区二区| 精品国产一区二区亚洲人成毛片| 亚洲视频一区二区免费在线观看 | 在线区一区二视频| 久久久精品综合| 亚洲国产视频一区| 国产黄色91视频| 91精品国产aⅴ一区二区| 国产免费成人在线视频| 日本免费在线视频不卡一不卡二| 成人免费视频免费观看| 欧美一区二视频| 亚洲乱码中文字幕| 国产一区二区h| 91精品国产入口在线| 亚洲欧美乱综合| 国产激情一区二区三区| 欧美一区二区三区在线电影 | 91麻豆文化传媒在线观看| 日韩一区二区三| 亚洲综合色区另类av| 国产91精品精华液一区二区三区 | 亚洲视频一区在线| 国产精品一区二区免费不卡| 5858s免费视频成人| 一区二区三区在线观看欧美| 国产高清久久久| 精品国产一区二区在线观看| 亚洲成a人v欧美综合天堂下载| 暴力调教一区二区三区| 国产亚洲精品资源在线26u| 免费成人在线视频观看| 在线不卡一区二区| 亚洲观看高清完整版在线观看 | 国产精品久久久久久久久动漫| 久久99精品一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲欧洲在线观看av| 成人毛片老司机大片| 欧美国产激情一区二区三区蜜月| 久久av资源站| 精品久久久久久亚洲综合网| 日本午夜一本久久久综合| 欧美日韩国产综合久久| 亚洲午夜精品在线| 精品视频在线免费观看| 亚洲主播在线观看| 在线观看免费成人| 亚洲最大的成人av| 99国产精品久久久久| 中文字幕一区二区三区不卡在线| 粉嫩av亚洲一区二区图片| 国产精品视频一二| 91在线免费播放| 亚洲欧美日韩小说| 欧美在线999| 视频一区二区三区入口| 884aa四虎影成人精品一区| 日韩综合小视频| 日韩精品中午字幕| 国精产品一区一区三区mba视频| 久久麻豆一区二区| 成人性视频免费网站| 1000部国产精品成人观看| 91免费观看国产| 亚洲一二三区在线观看| 欧美日韩成人综合天天影院| 青青草成人在线观看| 久久综合资源网| 成人av资源站| 夜夜揉揉日日人人青青一国产精品| 91国偷自产一区二区三区观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美性受xxxx黑人xyx| 蜜桃免费网站一区二区三区| 精品福利视频一区二区三区| 福利一区在线观看| 一区二区三区日韩精品视频| 欧美精品自拍偷拍| 国产一区二区在线看| 国产精品护士白丝一区av| 欧美性受极品xxxx喷水| 久久99在线观看| 国产精品国产三级国产aⅴ原创 | 精品区一区二区| 成人av先锋影音| 婷婷中文字幕一区三区| 日韩精品一区二区三区视频播放| 国产91精品在线观看| 亚洲高清免费视频| 欧美变态口味重另类| 91麻豆国产自产在线观看| 日韩电影在线免费看| 国产丝袜美腿一区二区三区| 色哟哟精品一区| 久久av资源站| 亚洲黄色小视频| 26uuu欧美| 欧美三级韩国三级日本三斤| 国产精品影视在线| 一区二区久久久久久| 久久久综合精品| 欧美揉bbbbb揉bbbbb| 国产成人av福利| 日韩vs国产vs欧美| 日韩美女视频一区| 欧美成人一区二区三区片免费| 99在线精品观看| 久久99精品久久久| 亚洲精品视频在线看| 久久综合色之久久综合| 精品视频免费在线| 成人性视频免费网站| 另类人妖一区二区av| 亚洲欧美日韩在线播放| 久久亚洲影视婷婷| 91麻豆精品国产自产在线观看一区| 粉嫩欧美一区二区三区高清影视| 日韩二区三区四区| 亚洲精品免费看| 国产欧美日韩视频一区二区| 91精品久久久久久久91蜜桃| 91伊人久久大香线蕉| 国产乱码精品一区二区三区忘忧草 | 中文字幕在线免费不卡| 日韩欧美国产综合| 欧美精品在线一区二区| 91美女蜜桃在线| www.欧美精品一二区| 国产一区二区三区黄视频 | 亚洲午夜久久久久| 久久婷婷久久一区二区三区| 欧美色手机在线观看| 99v久久综合狠狠综合久久| 精品一二三四区| 青青草视频一区| 亚洲午夜一二三区视频| 亚洲男人天堂av| 国产精品视频观看| 国产亚洲精久久久久久| 日韩精品中文字幕在线一区| 欧美久久久久免费| 欧美色图天堂网| 在线亚洲高清视频| 91老师片黄在线观看| bt欧美亚洲午夜电影天堂| 成人午夜免费电影| 成人av第一页| 99免费精品视频|