---
title: array模式数据写入
description: "- 以stride模式写入数据。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_hyperio_0061.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_hyperio_0061.html
indexId: cbca89fb0d101c3413160ee0fea1c77a647017382adc60fe1309b00a777a69e658
---
# array模式数据写入

#### 函数定义

- 以stride模式写入数据。
  nc_put_vars_text(int ncid, int varid, const size_t* startp, const size_t* countp, const ptrdiff_t* stridep, const char* op)

- 以数组方式写入数据。
  nc_put_vara(int ncid, int varid, const size_t* startp, const size_t* countp, const void* op)

- 以数组方式写入double类型数据。
  nc_put_vara_double(int ncid, int varid, const size_t* startp, const size_t* countp, const double* op)

- 以数组方式写入char类型数据。
  int nc_put_vara_text(int ncid, int varid, const size_t* startp, const size_t* countp, const char* op)

- 以数组方式写入unsigned char类型数据。
  int nc_put_vara_uchar(int ncid, int varid, const size_t* startp, const size_t* countp, const unsigned char* op)

- 以数组方式写入signed char类型数据。
  int nc_put_vara_schar(int ncid, int varid, const size_t* startp, const size_t* countp, const signed char* op)

- 以数组方式写入short类型数据。
  int nc_put_vara_short(int ncid, int varid, const size_t* startp, const size_t* countp, const short* op)

- 以数组方式写入int类型数据。
  int nc_put_vara_int(int ncid, int varid, const size_t* startp, const size_t* countp, const int* op)

- 以数组方式写入long类型数据。
  int nc_put_vara_long(int ncid, int varid, const size_t* startp, const size_t* countp, const long* op)

- 以数组方式写入float类型数据。
  int nc_put_vara_float(int ncid, int varid, const size_t* startp, const size_t* countp, const float* op)

- 以数组方式写入unsigned short类型数据。
  int nc_put_vara_ushort(int ncid, int varid, const size_t* startp, const size_t* countp, const unsigned short* op)

- 以数组方式写入unsigned int类型数据。
  int nc_put_vara_uint(int ncid, int varid, const size_t* startp, const size_t* countp, const unsigned int* op)

- 以数组方式写入long long类型数据。
  int nc_put_vara_longlong(int ncid, int varid, const size_t* startp, const size_t* countp, const long long* op)

- 以数组方式写入unsigned long long类型数据。
  int nc_put_vara_ulonglong(int ncid, int varid, const size_t* startp, const size_t* countp, const unsigned long long* op)


#### 参数

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


#### 返回值

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


#### 错误码

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


#### 注意

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