iostream - C++ ignore specific character while cin -


my input following:

4 5i 6 7i

instead of finding , replacing string,

i store individual values in double

but peeking , ignoring 'i'

so

double = 4 , b = 5, c = 6 , d = 7

following ugly code working on

i lost, appreciated

thanks!

    char c, real[1024], img[1024];     int = 0;     bool flag = false,     flag2 = false;      while( c = input.get() )     {         if( input.peek() == ' '){              = 0;             flag2 = true;          }          if( !flag2 ){              real[ i++ ] = c;          }else{              img[ i++ ] = c;          }           if( flag )         {             break;         }          while( input.peek() == 'i' )         {             if( input.peek() == 'i' )             {                 flag = true;                 = 0;                 flag2 = true;              }if( input.peek() == ' ' )             {                 = 0;                 flag2 = true;              }              input.ignore(1, 'i');          }        }      if( flag ){          obj.doublevaluea = 0.0  ;         obj.doublevalueb = atof( real );          return input;      }else{          obj.doublevaluea = atof( real );         obj.doublevalueb = atof( img );     }      return input; // enables  cin >> >> b >> c 

#include<iostream> #include<vector> #include<sstream> #include<ctype> #include<string>  using namespace std;  int parsenumber( string number ) {     unsigned = 0;      // find position character starts     while ( < number.size() && isdigit( number[i] )     {         i++;     }      number = number.substr( 0, );      // retrieve number string using stringstream     stringstream ss( number );     int result;     ss >> result;      // return result     return result; }  int main() {     string input;     getline( cin, input );      stringstream ss( input );     string number;     vector<int> complexnumbers;      while ( ss >> number )     {         complexnumbers.push_back( parsenumber( number ) );     }      ( unsigned = 0; < complexnumbers.size(); i++ )     {         cout << complexnumbers[i] << " ";     } } 

Comments