//函数将句子中的每个单词的首字母改为大写 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; }