How to convert the first letter of each word of a string to uppercase in C++

1 Answer

0 votes
#include <iostream>
#include <algorithm>
 
using namespace std;
  
string convert_each_word_first_letter_to_uppercase(string s) { 
	for_each(s.begin(), s.end(), [](char & ch) {
	    static int previous_ch = ' ';
		if (previous_ch == ' ' && ch != ' ' && ::isalpha(ch)) {
		    ch = toupper(ch);
		}
		previous_ch = ch;
	});
 
    return s;
}
  
int main() {
    string s = "cpp java php python"; 
      
    s = convert_each_word_first_letter_to_uppercase(s);
      
    cout << s;
}
 
 
  
/*
run:
  
Cpp Java Php Python
  
*/

 



answered Nov 13, 2019 by avibootz
...