21xrx.com
2025-04-14 13:05:20 Monday
文章检索 我的文章 写文章
C++: 去除 string 类型字符串中的 \n
2023-07-12 15:48:09 深夜i     26     0
C++ string \n 字符串处理 格式化输出

在 C++ 中,字符串是使用 string 类型表示的。当从输入流中读取一行文本时,可能会将换行符“\n”包含在字符串中,这会导致字符串结尾出现不必要的空格或者换行符。

要去除 string 类型字符串中的“\n”,可以使用 string 的 erase() 和 find() 函数。find() 函数可以用于查找字符串中第一个出现给定字符的位置,而 erase() 函数可以用于删除指定位置上的字符。

下面是一个示例:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str = "Hello\nWorld\n";
  // 查找并删除所有的 "\n"
  size_t pos = str.find("\n");
  while (pos != string::npos) {
    str.erase(pos, 1);
    pos = str.find("\n");
  }
  cout << str << endl;
  return 0;
}

上述程序的输出结果为:

HelloWorld

在这个示例中,我们首先定义了一个包含换行符的字符串 str。然后,我们使用一个循环查找并删除所有的“\n”,直到字符串中不再包含该字符。

在每次迭代中,find() 函数返回下一个“\n”的位置,如果没找到则返回 string::npos,然后我们使用 erase() 函数将其删除。

最终,我们输出处理后的字符串。

总结起来,要去除 string 类型字符串中的“\n”,可以使用 string 的 erase() 和 find() 函数。这样能够确保字符串结尾没有不必要的空格,从而让程序更加健壮和清晰。

  
  

评论区