欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年05月29日 16:08:50   作者:  
本篇文章是對(duì)用c++實(shí)現(xiàn)將文本每個(gè)單詞首字母轉(zhuǎn)換為大寫的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
利用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();
}

相關(guān)文章

  • linux C 打印錯(cuò)誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹

    linux C 打印錯(cuò)誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹

    這篇文章主要介紹了linux C 打印錯(cuò)誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • C++中string使用+號(hào)與int拼接方式

    C++中string使用+號(hào)與int拼接方式

    這篇文章主要介紹了C++中string使用+號(hào)與int拼接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 篩選法的C++實(shí)現(xiàn)

    篩選法的C++實(shí)現(xiàn)

    篩選法又稱篩法,是求不超過自然數(shù)N(N>1)的所有質(zhì)數(shù)的一種方法。據(jù)說是古希臘的埃拉托斯特尼(Eratosthenes,約公元前274~194年)發(fā)明的,又稱埃拉托斯特尼篩子
    2013-10-10
  • C++聚合體初始化aggregate initialization詳細(xì)介紹

    C++聚合體初始化aggregate initialization詳細(xì)介紹

    這篇文章主要介紹了C++聚合體初始化aggregate initialization,C++有很多初始化對(duì)象的方法。其中之一叫做 聚合體初始化(aggregate initialization) ,這是聚合體專有的一種初始化方法
    2023-02-02
  • C++實(shí)現(xiàn)當(dāng)前時(shí)間動(dòng)態(tài)顯示的方法

    C++實(shí)現(xiàn)當(dāng)前時(shí)間動(dòng)態(tài)顯示的方法

    這篇文章主要介紹了C++實(shí)現(xiàn)當(dāng)前時(shí)間動(dòng)態(tài)顯示的方法,涉及C++時(shí)間操作及Sleep方法的使用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • FFmpeg實(shí)戰(zhàn)之分離出PCM數(shù)據(jù)

    FFmpeg實(shí)戰(zhàn)之分離出PCM數(shù)據(jù)

    PCM(Pulse?Code?Modulation,脈沖編碼調(diào)制)音頻數(shù)據(jù)是未經(jīng)壓縮的音頻采樣數(shù)據(jù)裸流,它是由模擬信號(hào)經(jīng)過采樣、量化、編碼轉(zhuǎn)換成的標(biāo)準(zhǔn)數(shù)字音頻數(shù)據(jù)。本文將通過FFmpeg實(shí)現(xiàn)分離PCM數(shù)據(jù),感興趣的可以了解一下
    2023-02-02
  • vscode+qt5+cmake編譯調(diào)試過程解析

    vscode+qt5+cmake編譯調(diào)試過程解析

    這篇文章主要介紹了vscode+qt5+cmake編譯調(diào)試過程解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • C++調(diào)用Matlab函數(shù)求特征值

    C++調(diào)用Matlab函數(shù)求特征值

    這篇文章主要為大家詳細(xì)介紹了C++調(diào)用Matlab函數(shù)求特征值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 詳解OpenMP的線程同步機(jī)制

    詳解OpenMP的線程同步機(jī)制

    在本篇文章當(dāng)中主要給大家介紹?OpenMP?當(dāng)中線程的同步和互斥機(jī)制,在?OpenMP?當(dāng)中主要有三種不同的線程之間的互斥方式。下面就來和大家來討論一下OpenMP當(dāng)中的互斥操作,需要的可以參考一下
    2023-01-01
  • 16種C語(yǔ)言編譯警告(Warning)類型的解決方法

    16種C語(yǔ)言編譯警告(Warning)類型的解決方法

    由于編譯的警告各種各樣,根本不可以一一羅列出來,下面只是列舉出比較典型的十六種警告,還有一些警告,大家只要根據(jù)字面意思,就可以很快的查找出來,并解決之。希望對(duì)大家有所幫助。
    2014-08-08

最新評(píng)論