国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

用c++實現將文本每個單詞首字母轉換為大寫

2020-01-26 16:03:06
字體:
來源:轉載
供稿:網友
利用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();
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 噶尔县| 玛沁县| 得荣县| 靖宇县| 鸡东县| 龙川县| 渭源县| 个旧市| 荆门市| 行唐县| 马鞍山市| 太白县| 瓦房店市| 三穗县| 江川县| 新丰县| 黎城县| 宣武区| 应城市| 乌拉特前旗| 新绛县| 中宁县| 武陟县| 建湖县| 丽江市| 册亨县| 含山县| 云霄县| 新乡县| 南华县| 淮南市| 霍林郭勒市| 上蔡县| 九龙坡区| 额济纳旗| 绥棱县| 乐都县| 阿拉善盟| 冷水江市| 南昌市| 阿拉善右旗|