fork download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <string>
  4. #include <locale>
  5.  
  6. namespace mns
  7. {
  8. template<class charT>
  9. const charT* begin(const std::basic_string<charT>& s)
  10. {
  11. return &s.front();
  12. }
  13.  
  14. template<class charT>
  15. const charT* end(const std::basic_string<charT>& s)
  16. {
  17. return &s[s.size()];
  18. }
  19. }
  20.  
  21. std::istringstream diffusionTensorFile("No. activity levels : 3\nNo. pitch-angles : 90\nNo. energies : 11\nNo. L-shells : 10");
  22.  
  23. int main()
  24. {
  25. std::locale loc(diffusionTensorFile.getloc());
  26. auto& f = std::use_facet<std::ctype<char>>(loc);
  27. int alphaSize;
  28. std::string sline;
  29.  
  30. while (std::getline(diffusionTensorFile, sline))
  31. {
  32. const char* result;
  33. if ((result = f.scan_is(f.digit, mns::begin(sline),
  34. mns::end(sline))) != mns::end(sline))
  35. {
  36. alphaSize = atoi(result);
  37. // do something with alphaSize
  38. std::cout << alphaSize << std::endl;
  39. }
  40. }
  41. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
3
90
11
10