示例#1
0
const char *MSMBSDate::format(MSString& aString_,const char *format_) const
{
  #ifdef MS_THREAD_SAFE_FUNCTIONS
  struct tm tms;
  #endif //MS_THREAD_SAFE_FUNCTIONS

  MSString aString(0,((format_!=0)?strlen(format_):0)+3);
  // __tm_zone, a member of struct tm for the sun architecture
  // must be initialized if the strftime format %Z is used. Can
  // get this value from localtime.
  time_t now=time(0);
  struct tm *pCalendarTime=MS_LOCALTIME(&now,&tms);
  MSMonth m; MSDay d; MSYear y;
  asMonthDayYear(m,d,y);
  pCalendarTime->tm_sec=0;
  pCalendarTime->tm_min=0;
  pCalendarTime->tm_hour=0;
  pCalendarTime->tm_mday=d;
  pCalendarTime->tm_mon=m-1;
  pCalendarTime->tm_year=y-1900;
  pCalendarTime->tm_wday=weekDay()==7?0:weekDay();
  pCalendarTime->tm_yday=dayOfYear()-1;
  pCalendarTime->tm_isdst=-1;
  int numberOfChars;
  while ((numberOfChars=strftime((char*)aString.string(),aString.length(),format_,pCalendarTime))==0)
   {
     aString=MSString(0,2*aString.length());
   }
  // remove the terminating null from strftime. strftime returns the number of characters
  // produced not including the terminating null character.
  aString=MSString(aString.string(),numberOfChars);
  aString_=aString.string();
  return aString_;
}
/*
* Returns a list of scheduled items
* @param
* @return
*/
void TTaskScheduler::GetScheduledItems(vector<wstring>* answer){

    IEnumWorkItems *pIEnum;
    HRESULT hr = pITS->Enum(&pIEnum);

    if (FAILED(hr)){
        return;
    }


    LPWSTR *lpwszNames;
    DWORD dwFetchedTasks = 0;
    while (SUCCEEDED(pIEnum->Next(5,
                                &lpwszNames,
                                &dwFetchedTasks))
                  && (dwFetchedTasks != 0)){

        while (dwFetchedTasks){
           //wprintf(L"%s\n", lpwszNames[--dwFetchedTasks]);
           wstring aString(lpwszNames[--dwFetchedTasks]);
           answer->push_back(aString);

           char buffer[255];
           sprintf(buffer, "Size is %d", answer->size());
           OutputDebugString(buffer);

           CoTaskMemFree(lpwszNames[dwFetchedTasks]);
        }
        CoTaskMemFree(lpwszNames);
    }

    pIEnum->Release();
}
示例#3
0
文件: regexp.cpp 项目: dhaley/dcp
main()
{
  RWCString aString("Hark! Hark! the lark");

  cout << "Searching for expressions beginning with \'l\' in: " << endl
       << aString << endl << "Found: ";

  // A regular expression matching any lower-case word
  // starting with 'l':

  RWCRegexp reg("l[a-z]*");

  cout << aString(reg) << endl;	  // Prints 'lark'

  return 0;
}
示例#4
0
void MSWidget::propertyToString(Atom target_,char *data_,int itemCount_)
{
  if (target_==XA_ATOM) atomsFromData(data_,itemCount_);
  else if (target_==XA_STRING) 
   {
     MSString aString(data_,itemCount_);
     _server->pasteBuffer(aString);
   }
}
示例#5
0
文件: FullID.cpp 项目: ecell/ecell3
void SystemPath::parse( String const& systempathstring )
{
    if( systempathstring.empty() )
    {
        return;
    }

    String aString( systempathstring );
    eraseWhiteSpaces( aString );
    
    String::size_type aCompStart( 0 );
    
    // absolute path ( start with '/' )
    if( aString[ 0 ] == DELIMITER )
    {
        push_back( String( 1, DELIMITER ) );
        ++aCompStart;
    }

    for ( String::size_type aCompEnd; aCompStart < aString.size();
            aCompStart = aCompEnd + 1 )
    {
        aCompEnd = aString.find_first_of( DELIMITER, aCompStart );
        if ( aCompEnd == String::npos )
        {
            aCompEnd = aString.size();
        }

        String aComponent( aString.substr( aCompStart, aCompEnd - aCompStart ) );
        if ( aComponent == ".." )
        {
            if ( theComponents.size() == 1 &&
                    theComponents.front()[ 0 ] == DELIMITER )
            {
                THROW_EXCEPTION( BadSystemPath, 
                                 "Too many levels of retraction with .." );
            }
            else if ( theComponents.empty() || theComponents.back() == ".." )
            {
                theComponents.push_back( aComponent );
            }
            else 
            {
                theComponents.pop_back();
            }
        }
        else if ( !aComponent.empty() && aComponent != "." )
        {
            theComponents.push_back( aComponent );
        }
    }

    if ( !aString.empty() && theComponents.empty() )
    {
        theComponents.push_back( "." );
    }
}
示例#6
0
MSStatus MSWidget::copyPrimary(const char *data_,int itemCount_)
{
  if (ownSelection(XA_PRIMARY)==MSSuccess)
   {
     MSString aString(data_,itemCount_);
     _server->copyBuffer(aString);
     return MSSuccess;
   }
  return MSFailure;  
}
int main()
{


    std::string aString("A simple string");
    std::cout << aString << std::endl;

    print_function(aString.c_str()); 

    return 0;
}
//        /// <summary>
//        /// Get double matrix from ptr
//        /// </summary>
//        internal static double[][] GetDoubleMatrixFromPtrLA(IntPtr pointer, int nRows, int nCols)
//        {
//            IntPtr[] rawRows = new IntPtr[nRows];
//            double[][] oResult = new double[nRows][];
//            Marshal.Copy(pointer, rawRows, 0, nRows);
//            for (int i = 0; i < nRows; i++)
//            {
//                oResult[i] = new double[nCols];
//                Marshal.Copy(rawRows[i], oResult[i], 0, nCols);
//            } // for (int)
//            LA.FreeMatrix(pointer, nRows);
//            return oResult;
//        } // GetDoubleMatrixFromPtrLA(pointer, nRows, nCols)
//
//        /// <summary>
//        /// Get int array from ptr
//        /// </summary>
//        internal static int[] GetIntArrayFromPtr(IntPtr pointer, int nLength)
//        {
//            int[] oResult = new int[nLength];
//            Marshal.Copy(pointer, oResult, 0, nLength);
//            StructAnalysis.FreeVector(pointer);
//            return oResult;
//        } // GetIntArrayFromPtr(pointer, nLength)
//
//        /// <summary>
//        /// Get int array from ptr
//        /// </summary>
//        internal static int[] GetIntArrayFromPtrLA(IntPtr pointer, int nLength)
//        {
//            int[] oResult = new int[nLength];
//            Marshal.Copy(pointer, oResult, 0, nLength);
//            LA.FreeVector(pointer);
//            return oResult;
//        } // GetIntArrayFromPtr(pointer, nLength)
//
//
//        /// <summary>
//        /// Get int matrix from ptr
//        /// </summary>
//        internal static int[][] GetIntMatrixFromPtr(IntPtr pointer, int nRows, int nCols)
//        {
//            IntPtr[] rawRows = new IntPtr[nRows];
//            int[][] oResult = new int[nRows][];
//            Marshal.Copy(pointer, rawRows, 0, nRows);
//            for (int i = 0; i < nRows; i++)
//            {
//                oResult[i] = new int[nCols];
//                Marshal.Copy(rawRows[i], oResult[i], 0, nCols);
//            } // for (int)
//            StructAnalysis.FreeMatrix(pointer, nRows);
//            return oResult;
//        } // GetIntMatrixFromPtr(pointer, nRows, nCols)
//
//        /// <summary>
//        /// Get int matrix from ptr
//        /// </summary>
//        internal static int[][] GetIntMatrixFromPtrLA(IntPtr pointer, int nRows, int nCols)
//        {
//            IntPtr[] rawRows = new IntPtr[nRows];
//            int[][] oResult = new int[nRows][];
//            Marshal.Copy(pointer, rawRows, 0, nRows);
//            for (int i = 0; i < nRows; i++)
//            {
//                oResult[i] = new int[nCols];
//                Marshal.Copy(rawRows[i], oResult[i], 0, nCols);
//            } // for (int)
//            LA.FreeMatrix(pointer, nRows);
//            return oResult;
//        } // GetIntMatrixFromPtr(pointer, nRows, nCols)
//
//
/// <summary>
/// Get string array from ptr
/// </summary>
vector<string> GetStringArrayFromPtr(IntPtr &pointer, int nStrings)
{
    vector<string> oResult;
    oResult.resize(nStrings);
    char** stringRows = (char**) pointer;

    for(int i = 0; i < nStrings; i++)
    {
        char* oneString = stringRows[i];
        string aString(oneString);
        oResult[i] = aString;
    }

//    LibStructural_freeMatrix(pointer, nStrings);
    //StructAnalysis::FreeMatrix(pointer, nStrings);
    return oResult;
}
示例#9
0
文件: FullID.cpp 项目: ecell/ecell3
void FullID::parse( String const& fullidstring )
{
    // empty FullID string is invalid
    if( fullidstring == "" )
    {
        THROW_EXCEPTION( BadID, "empty FullID string" );
    }

    String aString( fullidstring );
    eraseWhiteSpaces( aString );

    // ignore leading white spaces
    String::size_type aFieldStart( 0 );
    String::size_type aFieldEnd( aString.find_first_of( DELIMITER, aFieldStart ) );
    if( aFieldEnd == String::npos )
    {
        THROW_EXCEPTION( BadID, 
                         "no ':' in the FullID string [" + aString + "]" );
    }

    String aTypeString( aString.substr( aFieldStart, aFieldEnd - aFieldStart ) );
    theEntityType = EntityType( aTypeString );
    
    aFieldStart = aFieldEnd + 1;
    aFieldEnd = aString.find_first_of( DELIMITER, aFieldStart );
    if( aFieldEnd == String::npos )
    {
        THROW_EXCEPTION( BadID, "only one ':' in the FullID string [" 
                                + aString + "]" );
    }

    
    theSystemPath = SystemPath( aString.substr( aFieldStart, 
                                aFieldEnd - aFieldStart ) );
    
    aFieldStart = aFieldEnd + 1;

    // drop trailing string after extra ':'(if this is    FullPN),
    // or go to the end
    aFieldEnd = aString.find_first_of( DELIMITER, aFieldStart );

    theID = aString.substr( aFieldStart, aFieldEnd - aFieldStart );
}
示例#10
0
void GBGlobals::s_recordMarker(int mark,const char * const s) {
  s_CurrentMarkerNumbers.push_back(mark);
  simpleString aString(s);
  s_CurrentMarkerStrings.push_back(aString);
};