C++/String/string size

Материал из C\C++ эксперт
Версия от 10:25, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

string.size()

 
 
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
  string str1("Strings handling is easy in C++");
  string::iterator p;
  unsigned int i;
  // use size()
  for(i=0; i<str1.size(); i++)
    cout << str1[i];
  cout << endl;

  return 0;
}
/* 
Strings handling is easy in C++
 */


string size grows

 
 
#include <string>
#include <iostream>
using namespace std;
int main( ) {
   string s = "";
   string sr = "";
   sr.reserve(9);
   cout << "s.length    = " << s.length( )   << "\n";
   cout << "s.capacity  = " << s.capacity( ) << "\n";
   cout << "s.max_size  = " << s.max_size( ) << "\n";
   cout << "sr.length   = " << sr.length( )   << "\n";
   cout << "sr.capacity = " << sr.capacity( ) << "\n";
   cout << "sr.max_size = " << sr.max_size( ) << "\n";
   for (int i = 0; i < 20; ++i) {
      if (s.length( ) == s.capacity( )) {
         cout << "s reached capacity of " << s.length( )
              << ", growing...\n";
      }
      if (sr.length( ) == sr.capacity( )) {
         cout << "sr reached capacity of " << sr.length( )
              << ", growing...\n";
      }
      s += "x";
      sr += "x";
   }
}
/* 
s.length    = 0
s.capacity  = 0
s.max_size  = 1073741820
sr.length   = 0
sr.capacity = 9
sr.max_size = 1073741820
s reached capacity of 0, growing...
s reached capacity of 1, growing...
s reached capacity of 2, growing...
s reached capacity of 3, growing...
s reached capacity of 4, growing...
s reached capacity of 5, growing...
s reached capacity of 6, growing...
s reached capacity of 7, growing...
s reached capacity of 8, growing...
s reached capacity of 9, growing...
sr reached capacity of 9, growing...
s reached capacity of 10, growing...
sr reached capacity of 10, growing...
s reached capacity of 11, growing...
sr reached capacity of 11, growing...
s reached capacity of 12, growing...
sr reached capacity of 12, growing...
s reached capacity of 13, growing...
sr reached capacity of 13, growing...
s reached capacity of 14, growing...
sr reached capacity of 14, growing...
s reached capacity of 15, growing...
sr reached capacity of 15, growing...
s reached capacity of 16, growing...
sr reached capacity of 16, growing...
s reached capacity of 17, growing...
sr reached capacity of 17, growing...
s reached capacity of 18, growing...
sr reached capacity of 18, growing...
s reached capacity of 19, growing...
sr reached capacity of 19, growing...
 */


string.size(), string.length, string.capacity(), string.max_size()

 
 
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
using std::boolalpha;
#include <string>
using std::string;
void display( const string & );
int main()
{
   string string1;
 
   cout << "Statistics before input:\n" << boolalpha;
   display( string1 );
   cout << "\n\nEnter a string: ";
   cin >> string1; // delimited by whitespace
   cout << "The string entered was: " << string1;
   cout << "\nStatistics after input:\n";
   display( string1 );

   return 0;
}
void display( const string &stringRef )
{
   cout << "capacity: " << stringRef.capacity() << "\nmax size: "  
      << stringRef.max_size() << "\nsize: " << stringRef.size()
      << "\nlength: " << stringRef.length() 
      << "\nempty: " << stringRef.empty();
}
/* 
Statistics before input:
capacity: 0
max size: 1073741820
size: 0
length: 0
empty: true
Enter a string: a string
The string entered was: a
Statistics after input:
capacity: 1
max size: 1073741820
size: 1
length: 1
empty: false
 */


Use string.length() to check the string"s size

 
 
#include <iostream>
#include <string>      // include for C++ standard string class
using namespace std;
int main()
{
  string stringA = "C++";
  string stringB = "Is Cool";
  cout << "Length of stringA = " << stringA.length() << endl;
  cout << "Length of stringB = " << stringB.length() << endl;
  return 0;
}
/* 
Length of stringA = 3
Length of stringB = 7
 */