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

利用C++,读入一个英文文本,并将文本中的每个英文单词首字母大写。
本程序练习了从一个文本中读入流,用到了fstream流。 在文本的转换过程中,用到了isalpha()——是否是字母,toupper()——转换为大写字符 这两个函数(针对string对象的单个字符的操作。类似的操作还有isalnum()——是否是字母或数字,iscntrl()——是否是控制字符, isdigit()——是否是数字,isgraph()——是否不是空格,但可以打印,islower()——是否是小写字母, isprint()——是否是可以打印的字符,ispunct()——是否是标点符号,isspace()——是否是空格,isupper()——是否是大写字母,isxdigit()——是否是十六进制数,tolower()——转换为小写。


代码如下:

#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)

相关推荐

  • C语言实现字母大小写转换的方法

    本文实例讲述了C语言实现字母大小写转换的方法.分享给大家供大家参考.具体实现方法如下: /* * 将大写字母转换为小写字母 */ #include <stdio.h> int lower(int c) { return ((c>='A')&&(c<='z'))?(c+'a'-'A'):(c); } main() { int i; char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(i=0;i<26;i++)

  • C++学习小结之二进制转换

    一.目的:便于计算机表示,稳定性好,符合逻辑运算,真为1,假为0. 二.各进制表示方法: 2进制:0,1 8进制:0-7 16进制:0-9,A,B,C,D,E,F 二.转换方法: 1.各进制转换为10进制: 从我们最了解的10进制入手.每个数都是10n次方相加.从右到左依次为:a*100+b*101+c*102....其结果表示为cba;同理二进制,八进制,16进制只是把10替换为2,8,16. 2.10进制转换2,8,16进制.取余反序排列. 3.8进制转2进制.首先要明白2进制是"逢1进1&

  • C++实现数字转换为十六进制字符串的方法

    本文实例讲述了C++实现数字转换为十六进制字符串的方法.分享给大家供大家参考.具体如下: function toHex(number, min) { var hexes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; var hex = ''; var min = min || 2; var nibble; do { nibble = number & 0x0f; number

  • C++实现十六进制字符串转换为十进制整数的方法

    本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法.分享给大家供大家参考.具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include <stdio.h> #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = "ABCDEF"; char qhexch[] = &qu

  • C++实现读入二进制数并转换为十进制输出

    题目描述 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出. 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 110 样例输出 6 solution: 很多学过C初学C++的人可能想到的是用字符数组形式读入再一位一位计算成十进制输出. 没必要. C++类库提供了二进制数据类,并且可以用其方法转换成十进制. 代码如下: 复制代码 代码如下: #include <iostream> using namespace std;

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

    利用C++,读入一个英文文本,并将文本中的每个英文单词首字母大写.本程序练习了从一个文本中读入流,用到了fstream流. 在文本的转换过程中,用到了isalpha()--是否是字母,toupper()--转换为大写字符 这两个函数(针对string对象的单个字符的操作.类似的操作还有isalnum()--是否是字母或数字,iscntrl()--是否是控制字符, isdigit()--是否是数字,isgraph()--是否不是空格,但可以打印,islower()--是否是小写字母, isprin

  • js将字符串中的每一个单词的首字母变为大写其余均为小写

    要求: 确保字符串的每个单词首字母都大写,其余部分小写. 这里我自己写了两种方法,或者说是一种方法,另一个是该方法的变种. 第一种: function titleCase(str) { var newarr,newarr1=[]; newarr = str . toLowerCase() . split(" "); for(var i = 0 ; i < newarr . length ; i++){ newarr1 . push(newarr[i][0] . toUpperCa

  • Python就将所有的英文单词首字母变成大写

    摘要: 将英文单词首字母变成大写是一个古老的话题,很常用,也很简单.不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗! 将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文单词的首字母变成大写.但如何将一段文本中所有英文单词的首字母都变成大写呢? 最容易想到的方法是将这些英文单词拆成独立的单词,然后分别使用capitalize方法将这些英文单词的首字母变成大写,然后再将这些单词连接起来,实现代码如下: s = 'The weather is

  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)

    php ucwords() 函数将字符串中每个单词的首字符转换为大写, 本文章向码农介绍php ucwords() 函数的基本使用方法和实例,感兴趣的码农可以参考一下. 定义和用法 ucwords() 函数把字符串中每个单词的首字符转换为大写. 注释:该函数是二进制安全的. 相关函数: lcfirst() - 把字符串中的首字符转换为小写 strtolower() - 把字符串转换为小写 strtoupper() - 把字符串转换为大写 ucfirst() - 把字符串中的首字符转换为大写 语法

  • php实现字符串首字母大写和单词首字母大写的方法

    本文实例讲述了php实现字符串首字母大写和单词首字母大写的方法.分享给大家供大家参考.具体分析如下: ucfirst可以对字符串首字母进行大小,ucwords可以对字符串中每个单词的首字母大写输出 <?php print ucfirst("hello world"); print ucwords("iam king of the jungle"); ?> 希望本文所述对大家的php程序设计有所帮助.

  • JS/CSS实现字符串单词首字母大写功能

    css实现: text-transform:capitalize; JS代码一: String.prototype.firstUpperCase = function(){ return this.replace(/\b(\w)(\w*)/g,function($0,$1,$2){ return $1.toUpperCase() + $2.toLowerCase(); }) } var result = "i'm hello world".firstUpperCase();; cons

  • SQLServer 设置单词首字母大写

    复制代码 代码如下: /* --SQLServer中将字符串首字母设置大写: --作者:jinjazz /csdn --SQLServer2005启用OLEAutomation sp_configure 'show advanced options', 1; go RECONFIGURE; go sp_configure 'Ole Automation Procedures', 1; go RECONFIGURE; go */ use tempdb go if (object_id ('fn_t

  • C#使用正则表达式实现首字母转大写的方法

    本文实例讲述了C#使用正则表达式实现首字母转大写的方法.分享给大家供大家参考,具体如下: class Program { static void Main(string[] args) { // Input strings. const string s1 = "samuel allen"; const string s2 = "dot net perls"; const string s3 = "Uppercase first letters of al

  • Python实现将字符串的首字母变为大写,其余都变为小写的方法

    利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['AdmIn','anny','LUCY','sandY','wILl'] def normallize(name): return name.capitalize() L2 = list(map(normallize,L1)) print(L2) 打印如下: ['Admin', 'Anny', 'Lucy', 'San

  • 将字符串中由空格隔开的每个单词首字母大写

    字符串中,每个单词由空格隔开,空格的个数不限 复制代码 代码如下: function capitalize(sting) { var words = string.split(" "); for(var i = 0; i < words.length; i++) { words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1); } return words.join(" "); } var s

随机推荐