c++ - 如何在 C++ 中编辑文本文件中的第一行?

标签 c++ file text line edit

我有一个如下所示的文本文件:

100 50 20 90
4.07498 0.074984
37.1704 28.1704
20.3999 14.3999
48.627 35.627 ....

我需要编辑这个文件,以便除了第一行第三项之外的所有内容都保持不变。输出应如下所示:

100 50 19 90
4.07498 0.074984
37.1704 28.1704
20.3999 14.3999
48.627 35.627
....

我怎样才能在 C++ 中做到这一点?有谁能够帮我?

谢谢, 黄

最佳答案

#include <stdio.h>

int main()
{
      FILE *pFile;
      pFile = fopen("example.txt", "r+");
      fseek(pFile, 7, SEEK_SET);
      fputs("19", pFile);
      fclose(pFile);
      return 0;
}

编辑: 以上当然主要是个玩笑。真正的方法是阅读第一行,将其分成几部分,更改所需的数字,写出来,然后跟在所有其余行之后。如果我们知道该文件的第一行包含四个整数( float ?),这样的事情可能就足够了:

#include <fstream>
#include <iostream>
using namespace std;

int main ()
{
    ifstream in("in.txt");
    ofstream out("out.txt");
    float v1, v2, v3, v4;
    in >> v1 >> v2 >> v3 >> v4;
    v3 = 19.1234; // <- Do whatever you need to here.
    out << v1 << " " << v2 << " " << v3 << " " << v4;
    out << in.rdbuf();
    out.close();
    in.close();
    return 0;
}

关于c++ - 如何在 C++ 中编辑文本文件中的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485190/

相关文章:

java - 如何检查特定文件夹或文件是否与 java 程序共享?

html - 背景图像切断了 Javascript 中的部分文本?

c# - 如何 : Monitoring file access by another process in Windows?

c++ - 如何使用静态记录器设置不同的日志位置

c++ - undefined reference ...但所有链接

c++ - 每当设置某些数学 errno 值时,如何引发异常?

java - 实现缓存的最佳方式

java - 内存中的文件是否与文件系统中的文件大小相同?

java - 将图像添加到 doc 文件

c# - 从 C# 中的字符串解析多个 double