| 
            Last change
 on this file since a7b78c3 was             38e17b0, checked in by Peter A. Buhr <pabuhr@…>, 6 months ago           | 
        
        
          | 
             
add string example to extract words from line 
 
           | 
        
        
          
            
              - 
Property                 mode
 set to                 
100644
               
             
           | 
        
        
          | 
            File size:
            859 bytes
           | 
        
      
      
| Rev | Line |   | 
|---|
| [38e17b0] | 1 | #include <string>
 | 
|---|
 | 2 | #include <iostream>
 | 
|---|
 | 3 | using namespace std;
 | 
|---|
 | 4 | int main() {
 | 
|---|
 | 5 |         string line, alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
 | 
|---|
 | 6 |         size_t i;
 | 
|---|
 | 7 | 
 | 
|---|
 | 8 |         for ( ; getline( cin, line ); ) {
 | 
|---|
 | 9 |                 for ( ;; ) {                                                                    // scan words off line
 | 
|---|
 | 10 |                         string::size_type posn = line.find_first_of( alpha );// find position of 1st alphabetic character
 | 
|---|
 | 11 |                   if ( posn == string::npos ) break;                    // any characters left ?
 | 
|---|
 | 12 |                         line = line.substr( posn );                                     // remove leading whitespace
 | 
|---|
 | 13 |                         posn = line.find_first_not_of( alpha );         // find position of 1st non-alphabetic character
 | 
|---|
 | 14 |                         if ( posn != string::npos ) {
 | 
|---|
 | 15 |                                 cout << line.substr( 0, posn ) << endl; // extract word from start of line
 | 
|---|
 | 16 |                                 line = line.substr( posn );                             // delete word from line
 | 
|---|
 | 17 |                         } else {
 | 
|---|
 | 18 |                                 cout << line << endl;                                   // extract word from start of line
 | 
|---|
 | 19 |                                 line = "";
 | 
|---|
 | 20 |                         }
 | 
|---|
 | 21 |                 } // for
 | 
|---|
 | 22 |         } // for
 | 
|---|
 | 23 | }
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.