---
title: array模式数据读取
description: "- 以数组方式读取数据。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_hyperio_0062.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_hyperio_0062.html
indexId: e53fa2058932de467d9c5d13058d2af8c0dd772484319d99d3503e8d48085f2458
---
# array模式数据读取

#### 函数定义

- 以数组方式读取数据。
  nc_get_vara(int ncid, int varid, const size_t* startp, const size_t* countp, void* ip)

- 以数组方式读取double类型数据。
  nc_get_vara_double(int ncid, int varid, const size_t *startp, const size_t* countp, double* ip)

- 以数组方式读取char类型数据。
  int nc_get_vara_text(int ncid, int varid, const size_t* startp, const size_t* countp, char* ip)

- 以数组方式读取unsigned char类型数据。
  int nc_get_vara_uchar(int ncid, int varid, const size_t* startp, const size_t* countp, unsigned char* ip)

- 以数组方式读取signed char类型数据。
  int nc_get_vara_schar(int ncid, int varid, const size_t* startp, const size_t* countp, signed char* ip)

- 以数组方式读取short类型数据。
  int nc_get_vara_short(int ncid, int varid, const size_t* startp, const size_t* countp, short* ip)

- 以数组方式读取int类型数据。
  int nc_get_vara_int(int ncid, int varid, const size_t* startp, const size_t* countp, int* ip)

- 以数组方式读取long类型数据。
  int nc_get_vara_long(int ncid, int varid, const size_t* startp, const size_t* countp, long* ip)

- 以数组方式读取float类型数据。
  int nc_get_vara_float(int ncid, int varid, const size_t* startp, const size_t* countp, float* ip)

- 以数组方式读取unsigned short类型数据。
  int nc_get_vara_ushort(int ncid, int varid, const size_t* startp, const size_t* countp, unsigned short* ip)

- 以数组方式读取unsigned int类型数据。
  int nc_get_vara_uint(int ncid, int varid, const size_t* startp, const size_t* countp, unsigned int* ip)

- 以数组方式读取long long类型数据。
  int nc_get_vara_longlong(int ncid, int varid, const size_t* startp, const size_t* countp, long long* ip)

- 以数组方式读取unsigned long long类型数据。
  int nc_get_vara_ulonglong(int ncid, int varid, const size_t* startp, const size_t* countp, unsigned long long* ip)


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| ncid | 文件ID | 非负整数 | 输入 |
| varid | variable ID | 非负整数 | 输入 |
| \*startp | 访问数据的起始向量 | 非空 | 输入 |
| \*countp | 访问数据的范围向量 | 非空 | 输入 |
| \*ip | 数据指针 | 非空 | 输出 |


#### 返回值

- 成功：返回NC_NOERR。
- 失败：返回错误码。


#### 错误码

| 错误码 | 描述 |
| --- | --- |
| NC\_EBADID | 无效ncid |
| NC\_ENOTVAR | 未找到variable |
| NC\_EINVALCOORDS | 无效坐标参数 |
| NC\_EEDGE | 超出维度界限 |


#### 注意

用户需要保证指针内存大小正确性，中间件无法检查指针大小。
