源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

用c++实现将文本每个单词首字母转换为大写

  • 时间:2021-01-03 14:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用c++实现将文本每个单词首字母转换为大写
[b]利用C++,读入一个英文文本,并将文本中的每个英文单词首字母大写。 [/b]本程序练习了从一个文本中读入流,用到了fstream流。 在文本的转换过程中,用到了isalpha()——是否是字母,toupper()——转换为大写字符 这两个函数(针对string对象的单个字符的操作。类似的操作还有isalnum()——是否是字母或数字,iscntrl()——是否是控制字符, isdigit()——是否是数字,isgraph()——是否不是空格,但可以打印,islower()——是否是小写字母, isprint()——是否是可以打印的字符,ispunct()——是否是标点符号,isspace()——是否是空格,isupper()——是否是大写字母,isxdigit()——是否是十六进制数,tolower()——转换为小写。
[u]复制代码[/u] 代码如下:
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) {  //读出文件到控制台  char buffer[500];  string str;  ifstream ifs; //提供读文件功能  ifs.open("d:\\com.txt",ios::in);//in--打开文件做读操作  cout << "d:\\com.txt" << "中的内容如下:" << endl;  while(!ifs.eof())  //判断是否达到stream的结尾  {   ifs.getline(buffer, 500, '\n'); //字符达到256个或遇到换行就结束   str = buffer;   if (str.empty()) // 如果某行为空,则跳过   {    continue;   }   else   {    if (isalpha(str[0]))    {     str[0] = toupper(str[0]);    }    for (string::size_type index = 1; index != str.size(); index++)    {     //str[index]为字母,且它前面的不为字母,则大写     if (isalpha(str[index]) && !isalpha(str[index-1]))     {      str[index] = toupper(str[index]);  //注意这里转化之后要赋一下值     }    }   }   cout << str << endl;  }  ifs.close(); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部