c++ - 读取文本文件并输出字符串

标签 c++ fstream ifstream

下面我有一个代码,它读取一个文本文件,如果它有单词 "unique_chars",则只向另一个文本文件写入一行。在里面。我在那条线上还有其他垃圾,例如。 "column"我怎样才能让它取代短语 "column"与其他东西如 "wall"

所以我的行会像<column name="unique_chars">x22k7c67</column>

#include <iostream>
#include <fstream>

using namespace std;

int main()
{

    ifstream  stream1("source2.txt");
    string line ;
    ofstream stream2("target2.txt");

        while( std::getline( stream1, line ) )
        {
            if(line.find("unique_chars") != string::npos){
             stream2 << line << endl;
                cout << line << endl;
            }

        }


    stream1.close();
    stream2.close();    

    return 0;
}

最佳答案

如果您希望替换所有出现的字符串,您可以实现自己的 replaceAll 函数。

void replaceAll(std::string& str, const std::string& from, const std::string& to) {
    if(from.empty())
        return;
    size_t pos = 0;
    while((pos = str.find(from, pos)) != std::string::npos) {
        str.replace(pos, from.length(), to);
        pos += to.length();
    }
}

关于c++ - 读取文本文件并输出字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326242/

相关文章:

c++ - 如何清理 curl 句柄?

c++ - 从文本文件中读取行并将字符串放入 vector 中?

c++ - ifstreams 和 rdbuf() 的奇怪行为

c++ - 如何将整个流读入 std::vector?

c++ - 在 C++ DLL 和 Cpp/CLI 控制台项目之间传输对象 vector

c++ - 什么时候函数应该使用 cstrings 而不是字符串? (C++)

c++ - 内联汇编,输出指令

c++将二进制文件写入文件

c++ - Libcurl:使用 fstream::write 而不是 fwrite 时图像损坏

c++ - 使用 "IF"C++ 逐行读取文本文件