source: dev/trunk/ab5.0/jenga/src/common/String.cpp @ 745

Last change on this file since 745 was 745, checked in by dai, 15 years ago
  • Compiler::AddStringToDataTableメソッドを実装。
  • ToWStringメソッドの内部予備バッファを増やした。
File size: 1.3 KB
Line 
1#include "stdafx.h"
2
3bool Jenga::Common::IsExistString( const Jenga::Common::Strings &strings, const std::string &findStr )
4{
5    BOOST_FOREACH( const std::string &str, strings )
6    {
7        if( str == findStr )
8        {
9            return true;
10        }
11    }
12    return false;
13}
14
15std::string& Jenga::Common::StringReplace( std::string& str, const std::string sb, const std::string sa )
16{
17    std::string::size_type n, nb = 0;
18   
19    while ((n = str.find(sb,nb)) != std::string::npos)
20    {
21        str.replace(n,sb.size(),sa);
22        nb = n + sa.size();
23    }
24   
25    return str;
26}
27
28std::string Jenga::Common::ToString( int n )
29{
30    char temp[255];
31    wsprintf( temp, "%d", n );
32    return temp;
33}
34
35std::wstring Jenga::Common::ToWString( const std::string &str )
36{
37    int size = MultiByteToWideChar(
38        CP_ACP,
39        0,
40        str.c_str(), static_cast<int>(str.size()) + 1,
41        NULL, 0 ) * 4;
42
43    LPWSTR pwstr = (LPWSTR)malloc( size );
44
45    MultiByteToWideChar(
46        CP_ACP,
47        0,
48        str.c_str(), static_cast<int>(str.size()) + 1,
49        pwstr, static_cast<int>(str.size()) + 1 );
50
51    std::wstring wstr( pwstr, str.size() );
52
53    free( pwstr );
54
55    return wstr;
56}
57
58bool Jenga::Common::IsIdentifierTopChar( char c )
59{
60    return ( isalpha( c ) || c == '_' );
61}
62
63bool Jenga::Common::IsIdentifierChar( char c )
64{
65    return ( IsIdentifierTopChar( c ) || isdigit( c ) );
66}
Note: See TracBrowser for help on using the repository browser.