如何将文件中的所有内容转换为小写?

时间:2018-03-26 21:34:07

标签: c++ function

我无法开始使用某个程序。我需要从文件中读取每个单词,然后将其转换为小写。我找到后,我想std::cout每个单词。我假设我需要使用c_str()一些方法。我猜我应该使用类似的东西:

ofs.open(infile.c_str());    

但如何降低案例?

string[i] = tolower(string[i]);

1 个答案:

答案 0 :(得分:1)

您可以使用locale中的std::tolower()功能。不确定这是否是您正在寻找的,但这里是您的问题的快速解决方案(据我所知)。

#include<iostream>
#include<string>
#include<fstream>
#include<locale>

int main(){
  std::string input;
  std::ifstream inputStream;
  inputStream.open("input.txt", std::ifstream::in);


  while(inputStream >> input){
    for(auto s : input)
    {
      std::cout << std::tolower(s, std::locale());
    }
    std::cout << " ";
  }

  return 0;
}