// $Id$
#include <ctype.h>
+#include <cstring>
+
#include "strutils.hxx"
+using std::string;
+using std::vector;
+
namespace simgear {
namespace strutils {
return split_whitespace( str, maxsplit );
vector<string> result;
- int n = strlen( sep );
+ int n = std::strlen( sep );
if (n == 0)
{
// Error: empty separator string
while (i+n <= len)
{
- if (s[i] == sep[0] && (n == 1 || memcmp(s+i, sep, n) == 0))
+ if (s[i] == sep[0] && (n == 1 || std::memcmp(s+i, sep, n) == 0))
{
result.push_back( str.substr(j,i-j) );
i = j = i + n;
static string
do_strip( const string& s, int striptype )
{
- // if (s.empty())
- // return s;
-
string::size_type len = s.length();
+ if( len == 0 ) // empty string is trivial
+ return s;
string::size_type i = 0;
if (striptype != RIGHTSTRIP)
{
return do_strip( s, BOTHSTRIP );
}
+ string
+ rpad( const string & s, string::size_type length, char c )
+ {
+ string::size_type l = s.length();
+ if( l >= length ) return s;
+ string reply = s;
+ return reply.append( length-l, c );
+ }
+
+ string
+ lpad( const string & s, size_t length, char c )
+ {
+ string::size_type l = s.length();
+ if( l >= length ) return s;
+ string reply = s;
+ return reply.insert( 0, length-l, c );
+ }
+
} // end namespace strutils
} // end namespace simgear