21xrx.com
2024-11-05 19:29:01 Tuesday
登录
文章检索 我的文章 写文章
C++: 去除 string 类型字符串中的 \n
2023-07-12 15:48:09 深夜i     --     --
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() 函数。这样能够确保字符串结尾没有不必要的空格,从而让程序更加健壮和清晰。

  
  

评论区

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