当前位置: 首页>>代码示例>>C++>>正文


C++ WString::size方法代码示例

本文整理汇总了C++中WString::size方法的典型用法代码示例。如果您正苦于以下问题:C++ WString::size方法的具体用法?C++ WString::size怎么用?C++ WString::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WString的用法示例。


在下文中一共展示了WString::size方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: execute

bool VpeMain::execute( const WString& cmd )
{
    if( _config->debug() && !confirm( "Starting '%s'", cmd ) ) {
        return( false );
    }
    startWait();

    size_t icount = strlen( cmd );
    for( size_t i = 0; i < icount; ) {
        WString cbuff;
        while( isspace( cmd[i] ) ) i++;
        for( ; i < icount; ) {
            char ch = cmd[i];
            i++;
            if( ch == '\n' || ch == '\r' ) break;
            cbuff.concat( ch );
        }
        if( cbuff.size() > 0 ) {
            if( strnicmp( cbuff, "!Error ", 7 ) == 0 ) {
                WString msg;
                for( size_t i = 7; i < cbuff.size() && cbuff[i] != '$'; i++ ) {
                    msg.concat( cbuff[i] );
                }
                WMessageDialog::messagef( this, MsgError, MsgOk, _viperError, msg );
                return( false );
            } else {
                if( !executeOne( cbuff ) ) {
                    return( false );
                }
            }
        }
    }
    return( true );
}
开发者ID:Azarien,项目名称:open-watcom-v2,代码行数:34,代码来源:vpemain2.cpp

示例2: getShortPathName

    size_t SDLPlatform::getShortPathName( const WString & _path, WChar * _short, size_t _len ) const
    {
        size_t pathSize = _path.size();

        if( _len == pathSize )
        {
            wcscpy( _short, _path.c_str() );
        }
        
        return _path.size();
    }
开发者ID:irov,项目名称:Mengine,代码行数:11,代码来源:SDLPlatform.cpp

示例3: ConvertURL

void CWebView::ConvertURL ( const CefString& url, SString& convertedURL )
{
    CefURLParts urlParts;
    if ( !CefParseURL ( url, urlParts ) )
    {
        convertedURL = "";
        return;
    }
    WString scheme = urlParts.scheme.str;
    
    if ( scheme == L"http" || scheme == L"https" )
    {
        convertedURL = UTF16ToMbUTF8 ( urlParts.spec.str );
    }
    else
    {
        // Get the file name (charsequence after last /)
        WString tempStr = urlParts.path.str;
        size_t pos = tempStr.find_last_of ( L"/" );

        if ( pos != std::wstring::npos && pos < tempStr.size () )
            convertedURL = UTF16ToMbUTF8 ( tempStr.SubStr ( pos + 1 ) );
        else
            convertedURL = "";
    }
}
开发者ID:stymR,项目名称:mtasa-blue,代码行数:26,代码来源:CWebView.cpp

示例4: dump

void MWorkFile::dump( WFile& fil )
{
    MRule* rule = _item->rule();
    WString& mask = _component->mask();

    fil.printf( "#%FP", this );
    fil.printf( ", %s:%s", (const char*)mask, (const char*)rule->tag() );
    fil.printf( ", %s", (const char*)*this );

    WString n;
    int icount = _states.count();
    if( icount > 0 ) {
        bool first = TRUE;
        for( int i=0; i<icount; i++ ) {
            MState* st = (MState*)_states[i];
            WString temp;
            st->sw()->getText( temp, st );
            if( temp.size() > 0 ) {
                if( first ) n.concat( " (" );
                if( !first ) n.concat( ' ' );
                n.concat( temp );
                first = FALSE;
            }
        }
        if( !first ) n.concat( ')' );
    }
    fil.printf( " %s\n", (const char*)n );
}
开发者ID:,项目名称:,代码行数:28,代码来源:

示例5: return

MSwitch* WEXPORT MFamily::findSwitch( MTool *tool, WString& switchtag, long fixed_version )
{
    //
    // Open Watcom IDE configuration/project files are buggy
    // There are many switch ID's which were changed by incompatible way
    // IDE uses various hacks to fix it later instead of proper solution
    // It is very hard to detect what was broken in each OW version because
    // there vere no change to version number of project files
    //
#if CUR_CFG_VERSION < 5
    tool = tool;
#endif
    int icount = _switches.count();
    bool isSetable = ( switchtag.size() > MASK_SIZE && switchtag[MASK_SIZE] != ' ' );
    if( fixed_version == 0 || !isSetable ) {
        for( int i = 0; i < icount; i++ ) {
            MSwitch* sw = (MSwitch*)_switches[i];
            if( sw->isTagEqual( switchtag ) ) {
                return( sw );
            }
        }
    } else {
        for( int i = 0; i < icount; i++ ) {
            MSwitch* sw = (MSwitch*)_switches[i];
            if( !sw->isSetable() )
                continue;
#if CUR_CFG_VERSION > 4
            // upgrade switchtag to current configuration files version
            if( _config->version() > 4 || fixed_version < 41 ) {
                // check for old text
                if( sw->isTagEqual( tool, switchtag, 1 ) ) {
                    sw->getTag( switchtag );
                    return( sw );
                }
                // check for current text
                if( sw->isTagEqual( tool, switchtag ) ) {
                    sw->getTag( switchtag );
                    return( sw );
                }
                continue;
            }
#endif
            if( sw->isTagEqual( switchtag ) ) {
                return( sw );
            }
            //
            // hack for buggy version of configuration/project files
            //
            if( _config->version() == 4 || fixed_version == 40 ) {
                if( sw->isTagEqual( switchtag, 1 ) ) {
                    // upgrade switchtag to current configuration files version
                    sw->getTag( switchtag );
                    return( sw );
                }
            }
        }
    }
    return( NULL );
}
开发者ID:ABratovic,项目名称:open-watcom-v2,代码行数:59,代码来源:mfamily.cpp

示例6: wcstombs

	String w2l(const WString& wstr) {
		return w2l(wstr.c_str(), wstr.size());
#if 0
		size_t len = wstr.size();
		String result;

		result.resize(len * AX_MB_LEN_MAX);

		size_t count = wcstombs(&result[0], &wstr[0], result.size());

		AX_ASSERT(count <= result.size());

		result.resize(count);

		return result;
#endif
	}
开发者ID:CharlieCraft,项目名称:axonengine,代码行数:17,代码来源:string.cpp

示例7:

	String w2u(const WString& wstr) {
		return w2u(wstr.c_str(), wstr.size());
#if 0
		size_t len = wstr.size();
		String result;

		result.resize(len * AX_UTF8_LEN_MAX);
		if (sizeof(wchar_t) == sizeof(UTF16)) {
			const UTF16* srcstart = (UTF16*)&wstr[0];
			const UTF16* srcend = srcstart + len;
			UTF8* dststart = (UTF8*)&result[0];
			UTF8* dstend = dststart + result.size();
			ConversionResult cr = ConvertUTF16toUTF8(&srcstart, srcend, &dststart, dstend, strictConversion);
			result.resize(dststart - (UTF8*)&result[0]);
		}

		return result;
#endif
	}
开发者ID:CharlieCraft,项目名称:axonengine,代码行数:19,代码来源:string.cpp

示例8: MFamily

MTool::MTool( WTokenFile& fil, WString& tok )
{
    fil.token( _tag );
    fil.token( _name );
    fil.token( tok );
    for(;;) {
        if( tok == "Family" ) {
            _families.add( new MFamily( fil, tok ) );
        } else if( tok == "IncludeTool" ) {
            MTool* tool = _config->findTool( fil.token( tok ) );
            if( tool != NULL ) {
                _incTools.add( tool );
            }
            fil.token( tok );
#if CUR_CFG_VERSION > 4
        } else if( _config->version() > 4 && tok == "SwitchText" ) {
            WString id;
            fil.token( id );
            fil.token( tok );
            if( tok.size() > 0 ) {
                _switchesTexts.setThis( new WString( tok ), new WString( id ) );
            }
            // define map "text -> id" for older versions of project files
            while( !fil.eol() ) {
                fil.token( tok );
                if( tok.size() > 0 ) {
                    // define new switch text for map
                    _switchesIds.setThis( new WString( id ), new WString( tok ) );
                }
            }
            fil.token( tok );
#endif
        } else if( tok == "Help" ) {
            fil.token( _help );
            fil.token( tok );
        } else if( tok == "rem" ) {
            fil.flushLine( tok );
            fil.token( tok );
        } else {
            break;
        }
    }
}
开发者ID:ABratovic,项目名称:open-watcom-v2,代码行数:43,代码来源:mtool.cpp

示例9: kludgeMask

void MConfig::kludgeMask( WString& str )
{
    if( _kludge ) {
        WString temp;
        for( size_t i=0; i<str.size(); i++ ) {
            temp.concat( str[i] );
            if( _kludge == 3 && i == 0 ) temp.concat( '?' );
            if( _version > 1 && _kludge == 3 && i == 2 ) temp.concat( '?' );
            if( _version > 1 && _kludge == 4 && i == 3 ) temp.concat( '?' );
        }
        str = temp;
    }
}
开发者ID:,项目名称:,代码行数:13,代码来源:

示例10: toString

	//-----------------------------------------------------------------------
	String UnicodeFileSystemArchive::toString( const WString& _wstring ) const
	{
		if(sizeof(String::value_type) == sizeof(WString::value_type))
		{
			return reinterpret_cast<const String&>(_wstring);
		}
		else
		{
			CodepageConverter::ByteBuffer buf( (const uint8*) _wstring.c_str(), _wstring.size() * 2);
			String string;
			mUtf16Converter->bufferToUnicode(string, buf);
			return string;
		}
	}
开发者ID:raduetsya,项目名称:GothOgre,代码行数:15,代码来源:WinUnicodeFileSystem.cpp

示例11: setProject

	void GUIStatusBar::setProject(const WString& name, bool modified)
	{
		WStringStream content;
		content << L"Project: ";

		if (name.size() > 20)
			content << name.substr(0, 20) << L"...";
		else
			content << name;

		if (modified)
			content << L"*";

		mProject->setContent(HString(content.str()));
	}
开发者ID:AlfHub,项目名称:BansheeEngine,代码行数:15,代码来源:BsGUIStatusBar.cpp

示例12: setScene

	void GUIStatusBar::setScene(const WString& name, bool modified)
	{
		WStringStream content;
		content << L"Scene: ";

		if (name.size() > 15)
			content << name.substr(0, 15) << L"...";
		else
			content << name;

		if (modified)
			content << L"*";

		mScene->setContent(HString(content.str()));
	}
开发者ID:AlfHub,项目名称:BansheeEngine,代码行数:15,代码来源:BsGUIStatusBar.cpp

示例13: insertBlanks

void MProject::insertBlanks( WString& s )
{
    WString ss;
    bool lineStart = true;
    for( size_t i=0; i<s.size(); i++ ) {
        if( lineStart && s[i] != ' ' && s[i] != '!' ) {
            ss.concat( ' ' );
        }
        ss.concat( s[i] );

        if( s[i] == '\n' ) {
            lineStart = true;
        } else {
            lineStart = false;
        }
    }
    s = ss;
}
开发者ID:MikeyG,项目名称:open-watcom-v2,代码行数:18,代码来源:mproject.cpp

示例14: runCmd

void VMsgLog::runCmd( WString &cmd )
{
static char buff[MAX_BUFF+1];
    addLine( cmd );
    blength = 0;
    buffer[blength] = '\0';
    if( !_batserv ) {
#ifdef __WINDOWS__
        VxDPut( cmd.gets(), cmd.size() + 1 );
        for(;;) {
            int len = VxDGet( buff, MAX_BUFF );
            buff[len] = '\0';
            if( streq( buff, TERMINATE_COMMAND_STR ) ) {
                break;
            } else if( len > 0 ) {
                scanLine( buff, len );
            }
        }
#endif
    } else {
        unsigned        maxlen;

        maxlen = BatchMaxCmdLine();
        cmd.truncate( maxlen );
        BatchSpawn( cmd );
        for( ;; ) {
            WSystemService::sysYield(); //allow other tasks to run
            unsigned long stat;
            int len = BatchCollect( buff, MAX_BUFF, &stat );
            if( len < 0 ) {
                break;
            } else if( len > 0 ) {
                scanLine( buff, len );
            }
        }
    }
    if( strlen( buffer ) > 0 ) {
        addLine( buffer );
    }
}
开发者ID:jossk,项目名称:open-watcom-v2,代码行数:40,代码来源:vmsglog.cpp

示例15: doRun

void VMsgLog::doRun()
{
    _running = TRUE;
    if( isIconic() ) {
        show( WWinStateShowNormal );
    } else {
        show();
    }
    setFocus();
    _batcher->setFocus();
    if( _cwd.size() > 0 ) {
        WString c( "cd " );
        c.concat( _cwd );
        lastCD = "";
        if( !_batserv ) {
            runCmd( c );
        } else {
            addLine( c );
            BatchChdir( _cwd );
        }
    }

    int icount = _command.size();
    for( int i=0; i<icount; ) {
        WString cbuff;
        for( ;i<icount; ) {
            char ch = _command[i++];
            if( ch == '\n' ) break;
            cbuff.concat( ch );
        }
        if( cbuff.size() > 0 ) {
            runCmd( cbuff );
        }
    }
    addLine( "Execution complete" );
    _running = FALSE;
    _parent->quickRefresh();
}
开发者ID:jossk,项目名称:open-watcom-v2,代码行数:38,代码来源:vmsglog.cpp


注:本文中的WString::size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。