雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

用c++實(shí)現(xiàn)將文本每個(gè)單詞首字母轉(zhuǎn)換為大寫

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊:

利用C++,讀入一個(gè)英文文本,并將文本中的每個(gè)英文單詞首字母大寫。
本程序練習(xí)了從一個(gè)文本中讀入流,用到了fstream流。 在文本的轉(zhuǎn)換過程中,用到了isalpha()——是否是字母,toupper()——轉(zhuǎn)換為大寫字符 這兩個(gè)函數(shù)(針對(duì)string對(duì)象的單個(gè)字符的操作。類似的操作還有isalnum()——是否是字母或數(shù)字,iscntrl()——是否是控制字符, isdigit()——是否是數(shù)字,isgraph()——是否不是空格,但可以打印,islower()——是否是小寫字母, isprint()——是否是可以打印的字符,ispunct()——是否是標(biāo)點(diǎn)符號(hào),isspace()——是否是空格,isupper()——是否是大寫字母,isxdigit()——是否是十六進(jìn)制數(shù),tolower()——轉(zhuǎn)換為小寫。

復(fù)制代碼 代碼如下:

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 //讀出文件到控制臺(tái)
 char buffer[500];
 string str;
 ifstream ifs; //提供讀文件功能
 ifs.open("d:\\com.txt",ios::in);//in--打開文件做讀操作
 cout << "d:\\com.txt" << "中的內(nèi)容如下:" << endl;
 while(!ifs.eof())  //判斷是否達(dá)到stream的結(jié)尾
 {
  ifs.getline(buffer, 500, '\n'); //字符達(dá)到256個(gè)或遇到換行就結(jié)束
  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]);  //注意這里轉(zhuǎn)化之后要賦一下值
    }
   }
  }
  cout << str << endl;
 }
 ifs.close();
}

上一篇:C++中簡(jiǎn)單讀寫文本文件的實(shí)現(xiàn)方法

欄    目:C語言

下一篇:利用C語言實(shí)踐OOP,以及new,delete的深入分析

本文標(biāo)題:用c++實(shí)現(xiàn)將文本每個(gè)單詞首字母轉(zhuǎn)換為大寫

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/4381.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有