Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4220 in orxonox.OLD for orxonox/trunk/src/lib


Ignore:
Timestamp:
May 18, 2005, 11:01:59 PM (20 years ago)
Author:
bensch
Message:

orxonox/trunk: TrackManager prepared for loading. added new overloaded functions that read in join and fork from one single string
thanks to chris, this was pretty easy… the hard part was finding the substring class :)

Location:
orxonox/trunk/src/lib/util
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/util/substring.cc

    r4010 r4220  
    2222#include "substring.h"
    2323
     24#include <string.h>
     25#include <assert.h>
     26
    2427SubString::SubString( const char* string)
    2528{
    26         n = 0;
     29  n = 0;
    2730       
    28         assert( string != NULL);
     31  assert( string != NULL);
    2932       
    30         for( int i = 0; i < strlen(string); i++) if( string[i] == ',') n++;
     33  for( int i = 0; i < strlen(string); i++) if( string[i] == ',') n++;
    3134
    32         n += 1;
     35  n += 1;
    3336       
    34         strings = new char*[n];
     37  strings = new char*[n];
     38
     39  assert (strings != NULL);
    3540       
    36         assert( strings != NULL);
     41  int i = 0;
     42  int l = 0;
    3743       
    38         int i = 0;
    39         int l = 0;
     44  const char* offset = string;
     45  char* end = strchr( string, ',');
     46  while( end != NULL)
     47    {
     48      assert( i < n);
     49      l = end - offset;
     50      strings[i] = new char[l + 1];
     51      assert( strings[i] != NULL);
     52      strncpy( strings[i], offset, l);
     53      strings[i][l] = 0;
     54      i++;
     55      end++;
     56      offset = end;
     57      end = strchr( offset, ',');
     58    }
    4059       
    41         const char* offset = string;
    42         char* end = strchr( string, ',');
    43         while( end != NULL)
    44         {
    45                 assert( i < n);
    46                 l = end - offset;
    47                 strings[i] = new char[l + 1];
    48                 assert( strings[i] != NULL);
    49                 strncpy( strings[i], offset, l);
    50                 strings[i][l] = 0;
    51                 i++;
    52                 end++;
    53                 offset = end;
    54                 end = strchr( offset, ',');
    55         }
    56        
    57         strings[i] = new char[l + 1];
    58         l = strlen( offset);
    59         strncpy( strings[i], offset, l);
    60         strings[i][l] = 0;
     60  strings[i] = new char[l + 1];
     61  l = strlen( offset);
     62  strncpy( strings[i], offset, l);
     63  strings[i][l] = 0;
    6164}
    6265
     
    6669SubString::~SubString()
    6770{
    68         for( int i = 0; i < n; i++)
    69         {
    70                 delete strings[i];
    71         }
     71  for( int i = 0; i < n; i++)
     72    {
     73      delete strings[i];
     74    }
    7275       
    73         delete strings;
     76  delete strings;
    7477}
    7578
     
    7881   \returns the amount of substrings
    7982*/
    80 int SubString::getN()
     83int SubString::getCount()
    8184{
    82         return n;
     85  return n;
    8386}
    8487
     
    9093const char* SubString::getString( int i)
    9194{
    92         if( i < n && i >= 0) return strings[i];
    93         else return NULL;
     95  if( i < n && i >= 0) return strings[i];
     96  else return NULL;
    9497}
  • orxonox/trunk/src/lib/util/substring.h

    r4010 r4220  
    11/*!
    2     \file substring.h
    3     \brief a small class to get the parts of a string separated by commas
     2  \file substring.h
     3  \brief a small class to get the parts of a string separated by commas
    44*/
    55
     
    77#define _SUBSTRING_H
    88
    9 #include "stdincl.h"
    10 
    119class SubString
    1210{
    13         public:
     11 public:
    1412       
    15                 SubString( const char* string);
    16                 ~SubString();
     13  SubString( const char* string);
     14  ~SubString();
    1715               
    18                 int getN();
    19                 const char* getString( int i);
     16  int getCount();
     17  const char* getString( int i);
    2018               
    21         private:
    22                 char** strings;
    23                 int n;
     19 private:
     20  char** strings;
     21  int n;
    2422};
    2523
Note: See TracChangeset for help on using the changeset viewer.