Use istream_iterator to loop through a string : istream iterator « STL Algorithms Iterator « C++ Tutorial






#include <iostream>
#include <iterator> 
#include <string>
#include <sstream>
using std::cout;
using std::endl;
using std::istream_iterator;
using std::istringstream;
using std::string;

template <typename Iter> 

double mySum(Iter begin, Iter end) { 
  double sum = 0.0;
  
  for( ; begin != end ;)
    sum += *begin++;
  return sum;
} 

int main() {

  std::string stock_ticker = "4.5 6.75 8.25 7.5 5.75";
  istringstream ticker(stock_ticker);
  istream_iterator<double> begin(ticker);
  istream_iterator<double> end;

  cout << stock_ticker << endl ;
  
  cout << mySum (begin, end) << endl; 
  return 0;
}
4.5 6.75 8.25 7.5 5.75
32.75








30.5.istream iterator
30.5.1.Taking the sum of values from a stream
30.5.2.Use istream_iterator to loop through a string
30.5.3.Use istream_iterator to loop through a string defined by char pointer
30.5.4.Read words from standard input, sort and print out without duplicates
30.5.5.Read string from keyboard and save to vector directly
30.5.6.istream_iterator reads and displays characters from cin until a period is received.
30.5.7.Advance istream_iterator