C++ Tutorial/string/string subscript indexer

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Accessing characters in a string

#include <iostream>
#include <string>
#include <cctype>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int main() {
  string text = "asdffdsaasdf";

  int vowels = 0;              
  int consonants = 0;          
  for(int i = 0 ; i < text.length() ; i++)
    if(std::isalpha(text[i]))  
      switch(std::tolower(text[i])) {
        case "a": case "e": case "i":
        case "o": case "u":
          vowels++;
          break;
        default:
          consonants++;
      }
  cout << "Your input contained "
       << vowels     << " vowels and "
       << consonants << " consonants."
       << endl;
  return 0;
}
Your input contained 3 vowels and 9 consonants.

accessing characters in string objects

#include <iostream>  
  #include <string>  
  using namespace std;  
    
  int main(){  
     char charray[80];  
     string word;  
    
     cout << "Enter a word: ";  
     cin >> word;  
     int wlen = word.length(); 
    
     cout << "One character at a time: ";  
     for(int j=0; j<wlen; j++)  
        cout << word.at(j);    
    
     word.copy(charray, wlen, 0);
     charray[wlen] = 0;          
     cout << "\nArray contains: " << charray << endl;  
       return 0;  
  }

Is it a string::npos

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string word1 = "Game";
    string word2("Over");
    string word3(3, "!");
    string phrase = word1 + " " + word2 + word3;
    cout << phrase << endl;

    if (phrase.find("eggplant") == string::npos)
        cout << ""eggplant" is not in the phrase.\n\n";
    return 0;
}

Modify char in a string by indexer

#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
int main()
{
   string string1( "cat" );
   string string2;
   string string3;
   string2 = string1;
   string3.assign( string1 );
   
   cout << "string1: " << string1 << "\nstring2: " << string2
      << "\nstring3: " << string3 << "\n\n";
   string2[ 0 ] = string3[ 2 ] = "r";
   cout << "string1: " << string1 << "\nstring2: " << string2 << "\nstring3: ";

   return 0;
}
string1: cat
string2: cat
string3: cat
string1: cat
string2: rat
string3: "

switch statement based on char value

#include <iostream>
#include <string>
#include <cctype>
using std::cout;
using std::cin;
using std::endl;
using std::string;
int main() {
  string text = "asdffdsaasdf";

  int vowels = 0;              
  int consonants = 0;          
  for(int i = 0 ; i < text.length() ; i++)
    if(std::isalpha(text[i]))  
      switch(std::tolower(text[i])) {
        case "a": case "e": case "i":
        case "o": case "u":
          vowels++;
          break;
        default:
          consonants++;
      }
  cout << "Your input contained "
       << vowels     << " vowels and "
       << consonants << " consonants."
       << endl;
  return 0;
}
Your input contained 3 vowels and 9 consonants.