C++读取netcdf文件
时间: 2023-07-11 12:13:38 浏览: 45
要读取netcdf文件,可以使用netcdf-c++库。以下是一个简单的示例程序,演示如何打开netcdf文件并读取其中的数据:
```cpp
#include <netcdfcpp.h>
#include <iostream>
int main()
{
// 打开netcdf文件
NcFile file("example.nc", NcFile::read);
// 获取变量
NcVar* var = file.get_var("temperature");
// 获取变量的维度
int ndims = var->num_dims();
// 获取每个维度的大小
std::vector<int> dimsizes(ndims);
for (int i = 0; i < ndims; ++i) {
NcDim* dim = var->get_dim(i);
dimsizes[i] = dim->size();
}
// 读取数据
std::vector<float> data(dimsizes[0] * dimsizes[1]);
var->get(&data[0], dimsizes[0], dimsizes[1]);
// 显示数据
for (int i = 0; i < dimsizes[0]; ++i) {
for (int j = 0; j < dimsizes[1]; ++j) {
std::cout << data[i * dimsizes[1] + j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
上述代码假设netcdf文件名为"example.nc",其中包含一个名为"temperature"的变量。该变量有两个维度,分别为dim1和dim2。代码将读取该变量的所有数据,并在控制台上显示出来。