gpt4 book ai didi

C++读取并修改txt文件中的一行

转载 作者:行者123 更新时间:2023-11-28 07:10:12 25 4
gpt4 key购买 nike

我在搜索单词第一次出现的位置时遇到了一些困难。该软件必须在确定的 txt 文件中搜索指定的单词。所以我已经使用 fstream lib 打开并写了一些东西。但我不知道我将如何制作软件来获得那个词的确切位置。我得到的只是这个:

#include <iostream>
#include <fstream>
#include <string.h>

using namespace std;

int main() {
fstream myfile; // fstream to read and write the myfile
string cText = "\n--something--!\n"; // what it will write
string line; // will assign the getline() value;
unsigned int pos = 0; //will be assigned to "seekp" - where it will start to write

myfile.open( "example.html", ios::binary | ios::in | ios::out );

if( !myfile ) {
cout << "File does not exist!" << endl;
cin.get();
return false;
}

do {
size_t found = line.find("<head>");
cout << string::npos << endl;
if (found != string::npos) {
cout << line << endl;

}
}while( getline(myfile, line));

myfile.seekp( pos+1, ios::beg );
//myfile.write( cText, strlen( cText ) ); //write cText
myfile.close();
cin.get();
return 0;
}

有什么建议吗?

最佳答案

不要尝试更改文件中的字节。创建一个新文件,复制这些行直到找到要替换的行,输出新行,然后输出其余行。因为除非您将一个字符串替换为另一个字符数完全相同的字符串,否则您将覆盖文件中的下一行 - 没有好的方法可以避免这种情况。

如果需要,您可以删除原始文件,然后将新文件重命名为该名称。

关于C++读取并修改txt文件中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21119970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com