如何编辑某些部分的文本文件c++?(Mac OS)



假设我有一个。txt文件显示:

Date: 01:10:21
Hi
My name is Jack

,我想把My name is Jack改成My name is John!而不是像这样改变一切:

file.open("yourname.txt", ios::out);
if (file.is_open()) {
file << "Date: 01:10:21 nHi nMy name is John";
file.close();
}

我想编辑只有JackJohn,后来因为日期可以被改变,时间,所以我能怎么做?

感谢每一个帮助!

不能说我知道一个合适的c++方法,但是有一个使用<cstdio>的C方法。下面是如何实现这一点的代码片段,但是您需要为问题实现自己的逻辑,例如查找要替换的位置和数量,例如使用索引或字符串缓冲区来保存所需的数据。下面是一个最小的代码片段:

#include <cstdio>
#include <cstring>
int main() {
FILE* fp = fopen("test.txt", "r+");
if (!fp)
return -1;
int c;
char buffer[30] = {0};
while (fgets(buffer, 3 /*hold `is `*/, fp)) {
printf("[%s]rn", buffer);
if (!strcmp(buffer, "is")) { //match `is` for example
fgetc(fp); // control the file ptr and move one forward
fputs("JOHN", fp); //replace
break;
}
}
fclose(fp);
return 0;
}

相关内容

  • 没有找到相关文章

最新更新