c++ - 用字符串替换换行符 (\n)

标签 c++ io newline

只是一个简短的问题。在读取文本文件并寻找换行符以替换为其他内容时,是否可以简单地查找 '\n' ?还是应该寻找 ascii 值?

我需要做的是,要澄清的是在文本文件中找到新行,如果只有一行则删除它们,如果连续有两行或更多行,我需要添加一个字符串来代替它们(总是比新行的数量少一个)。

我很清楚如何做到这一点,但我想知道如何在任何给定行的末尾查找换行符来替换它?

在伪代码中(我不相信你应该需要我的任何实际代码来解决这样的问题)它将是:

如果(行[x] & 行[x+1] = 换行){ 换成这个 } else if (line[x] = new line){ 消除

最佳答案

据我了解,不得保留换行符。逐行阅读:

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

std::string s,totalString;
while (std::getline(file, s))
{
    if(s.empty())
       totalString+="added string";
    else
       totalString+=s;
}

关于c++ - 用字符串替换换行符 (\n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22429182/

相关文章:

c++ - "-dndebug"(小写)在 g++ 中有什么作用吗?

c++ - 不完整类型、引用与指针的无效使用

node.js - NodeJS : Need idiomatic: Read files in dir, 连接、转换、写入

java - "\n"Java 上的 split

c++ - 如何在不调用析构函数的情况下重新分配 vector ?

c++ - Visual Studio 6.0 和 VS 2010 编译器之间的主要区别

python - 加载大的 .npy 文件导致 python 停止工作

java - 当 Java 尝试递归地遍历带有循环符号链接(symbolic link)的目录结构时,会抛出什么样的 IO 错误?

python - 在文本文件 Python 中写入时,将新行符号保留在字符串中

linux -\n 无法在 MacOS shell 上使用 sed