c – 替换文本文件中的一行

前端之家收集整理的这篇文章主要介绍了c – 替换文本文件中的一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想替换文件中的一行文本,但我不知道它的功能.

我有这个:

ofstream outfile("text.txt");
ifstream infile("text.txt");

infile >> replace whit other text;

对此有何答案?

我想念,在文件的某些行添加文字

infile.add(text,line);

C有这个功能吗?

解决方法

我担心你可能不得不重写整个文件.您可以这样做:
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    string strReplace = "HELLO";
    string strNew = "GOODBYE";
    ifstream filein("filein.txt"); //File to read from
    ofstream fileout("fileout.txt"); //Temporary file
    if(!filein || !fileout)
    {
        cout << "Error opening files!" << endl;
        return 1;
    }

    string strTemp;
    //bool found = false;
    while(filein >> strTemp)
    {
        if(strTemp == strReplace){
            strTemp = strNew;
            //found = true;
        }
        strTemp += "\n";
        fileout << strTemp;
        //if(found) break;
    }
    return 0;
}

输入文件

ONE
TWO
THREE
HELLO
SEVEN

输出文件

ONE
TWO
THREE
GOODBYE
SEVEN

如果您只希望它替换第一次出现,请取消注释注释行.另外,我忘了,最后添加删除filein.txt的代码并将fileout.txt重命名为filein.txt.

原文链接:https://www.f2er.com/c/115705.html

猜你在找的C&C++相关文章