用cernroot读取TXT文件并保存
时间: 2023-11-24 16:11:07 浏览: 160
可以使用ROOT的TTree类来读取和保存TXT文件。以下是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include "TFile.h"
#include "TTree.h"
using namespace std;
int main() {
// 打开TXT文件
ifstream input("data.txt");
// 创建ROOT文件
TFile* file = new TFile("data.root", "RECREATE");
// 创建TTree对象
TTree* tree = new TTree("tree", "Tree from TXT file");
// 声明变量
double x, y, z;
// 设置TTree分支
tree->Branch("x", &x, "x/D");
tree->Branch("y", &y, "y/D");
tree->Branch("z", &z, "z/D");
// 读取TXT文件并填充TTree
while (input >> x >> y >> z) {
tree->Fill();
}
// 保存TTree到ROOT文件
tree->Write();
// 关闭文件
file->Close();
cout << "Done!" << endl;
return 0;
}
```
这个程序将从名为"data.txt"的文件中读取三列数字,然后将它们保存为名为"data.root"的ROOT文件中的一个TTree对象。在TTree中,它们将被存储为三个分支"x"、"y"和"z"。
阅读全文