c++ - 如何用另一个/c++代码替换一行

标签 c++ linux file-io

我正在使用 ubuntu。我有一个名为 test.txt 的文件。我想用另一行替换第二行。我怎样才能做到这一点?我不想创建新文件并删除第一个文件。

我想指定新行的长度与第二行的长度相同

最佳答案

尝试这样的事情:

#include <fstream>
#include <string>

int main() {
    const int lineToReplace = 14;
    std::fstream file("myfile.txt", std::ios::in | std::ios::out);
    char line[255];
    for (int i=0; i<lineToReplace-1; ++i) 
        file.getline(line, 255); // This already skips the newline
    file.tellg();
    file << "Your contents here" << std::endl;
    file.close();
    return 0;
}

请注意, 最多可容纳 254 个字节(加上空终止符),因此如果您的行占用的空间超过此长度,请相应地进行调整。

关于c++ - 如何用另一个/c++代码替换一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8851240/

相关文章:

python - 从 ROSbag 中提取数据

php - 并发文件读/写

java - 编写java程序递归测试文件命名标准

c++ - 对于外部 API 的运行时跟踪,是否有比预处理器重定向更好的替代方法?

c++ - 如何使用 Boost.Spirit 在 C++ 中序列化一个 double,以便输出接近标准流的输出?

linux - VBAR_EL 寄存器是否通过 ARM 中的上下文切换保存?

string - Python中的文件读取问题

c++ - 用静态库构建共享库

c++ - QDirIterator - 没有 hasNext 不是 FilePath react

c - 在 DirectFBCreate 之后未调用 SIGSEGV 信号处理程序