StringHelpers in CPP

Aus LOMSO
Zur Navigation springen Zur Suche springen
Du bist hier : {{#youAreHere:StringHelpers in CPP}}



String Helper in C++

Oft fehlt in der Stringklasse in C++ genau die Methode, die man braucht.

Aus der Praxis heraus sind einige Methoden entstanden, die ich für nützlich halte.

überabeitet am 09.02.2014

Download: github: stringhelper


Autor

Richard Albrecht

Benutzer:Rleofield


Lizenz

LGPL

GNU Lesser General Public License

Tests

Im Folder test sind einige Unit-Tests mit Qt enthalten (Qt muss installiert sein).


Projektfiles

strings.pro für eine Qt Entwicklungs-Umgebung mit qmake ist dabei. Es ist kein sinnvolles Main dabei, weil es die Tests gibt.

test/teststrhlp.pro für eine Qt Entwicklungs-Umgebung mit qmake ist dabei. Qt wird verwendet. Die Tests können beliebig erweitert werden.


Compiler

gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3


Methoden

In 'main.cpp' sind 2 Methoden mit Tests enthalten.

 int main( void ) {

   test_hstring::test1();
   test_hstring::test2();

   return 0;
 }


Tests

folgende Tests sind in 'test_hstring.cpp' enthalten:

 class TestStrings {

 public:

   void test_string_to_type_double();
   void test_string_to_type_int();
   void test_string_to_type_size_t();

   void test_double_to_string_default_format();
   void test_double_to_string_format_supplied();

   void test_negative_int_to_string();

   void test_int_to_hex_0x();
   void test_int_to_hex_0x_32bit();
   void test_int_to_hex_0x_example2();
   void test_int_to_hex_0x_width16();
   void test_int_to_hex();

   void test_int_to_binaer_string();
   void test_int_to_binaer_string_width16();

   void test_to_lower_in_place();
   void test_to_lower_copy_string();

   void test_to_upper_in_place();
   void test_to_upper_copy_string();

   void test_clip_before_pattern();
   void test_clip_after_pattern();
   void test_clip_at_pos();
   void test_clip_at_char();
   void test_truncate_at_pos();

   void test_trim();
   void test_trim_right();
   void test_trim_left();
   void test_trim_with_empty_string();

   void test_index_at_char();
   void test_index_at_pattern();

   void test_index_right_at_char();

   void test_index_at_pattern_from_pos();
   void test_index_right_at_pattern();

   void test_index_not_found();

   void test_replace_first();
   void test_replace_all();

   void test_fillup();

   void test_last_char();
   void test_first_char();

   void test_erase();
   void test_erase_in_place();

   void test_remove_last();
   void test_remove_last_in_place();

   void test_remove_first();
   void test_remove_first_pattern();

   void test_insert_at_char();
   void test_insert_at_pattern();

   void test_split_to_6_tokens();
   void test_split_to_3_tokens();
   void test_split_with_multiple_delimiters();

 };

für den Debugger

Im File 'test1();' in 'main.cpp' kann man mit dem Debugger durchgehen und sich das Verhalten der Methoden anschauen.

Im Source sind die Stellen mit 'int debug_i = 0;' für Breakpoints vorgesehen.