21xrx.com
2024-12-22 17:34:16 Sunday
登录
文章检索 我的文章 写文章
如何在C++中去除回车符?
2023-07-08 01:24:08 深夜i     --     --
C++ 回车符 去除

在C++中,回车符是一种特殊字符,通常表示为'\r'。回车符常常出现在文本文件或标准输入流中,因此在程序中需要去除它。以下是一些方法可以在C++中去除回车符。

方法1:使用字符串函数

C++中的字符串函数可以方便地去除回车符。例如,使用string类中的erase函数可以删除字符串中的指定位置的字符。下面是一个示例代码:


#include<iostream>

#include<string>

using namespace std;

int main()

{

  string str = "Hello World\r";

  str.erase(str.find('\r'));

  cout << str << endl;

  return 0;

}

输出结果将为“Hello World”。

方法2:使用getline函数

在C++中,可以使用getline函数在读取文件或用户输入时自动去除回车符。getline函数可以将一行文本读取为一个字符串,并自动去除其末尾的回车符。以下是一个示例代码:


#include<iostream>

#include<fstream>

#include<string>

using namespace std;

int main()

{

  ifstream infile("input.txt");  //打开文件

  string line;

  while(getline(infile, line))  //逐行读取文件

 

   cout << line << endl;  //输出该行内容

 

  infile.close();

  return 0;

}

这将读取名为“input.txt”的文件,并输出每行文本,自动去掉每行末尾的回车符。

方法3:手动遍历字符串

在需要自行处理字符串时,可以手动遍历字符串,并删除字符数组中所有的'\r'。以下是一个示例代码:


#include<iostream>

#include<string>

using namespace std;

int main()

{

  string str = "Hello World\r";

  for(int i=0; i<str.length(); i++)

  {

   if(str[i] == '\r')

   {

     str.erase(i, 1);

     i--;

   }

  }

  cout << str << endl;

  return 0;

}

这将遍历字符串,检查每个字符是否为回车符,如果是则删除该字符,最终输出结果为“Hello World”。

以上是在C++中去除回车符的三种方法。无论使用哪种方法,都可以确保在程序中清除回车符,使得输入和输出更加规范化和美观化。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复