句子中单词首字母大写转换

//函数将句子中的每个单词的首字母改为大写
string first_letter(string& sentence)
{
     //定义string 指针,并指向string 首地址
     string::iterator it=sentence.begin ();
     //定义 关键 标志,反映检测到空格字符
     bool space_flag=true;
     //string 指针未到字符串尾,程序循环。
     while(it!=sentence.end())
     {
          //第一次循环指针指向单词首字母,space_flag=true。
          if(isalpha(*it) && space_flag)  //修改条件:指针指向的是字母,指针通过了空格字符。
         {
             //单词首字母改为大写
            *it=toupper(*it);
             //标志 false,不满足修改条件,避免将单词其他字母改为大写
             space_flag=false ;   
         }
            //指针通过了空格字符,修改space_flag标志
          if(isspace(*it))
          {
              space_flag=true;
          }
           it++;  //指向下一字符
     }
     cout<<"in function : "<<sentence<<endl;
     return sentence;
}
原文地址:https://www.cnblogs.com/sooner/p/3325373.html