rio写操作范例

    xiaoxiao2023-10-04  159

    static inline size_t rioWrite(rio *r, const void *buf, size_t len) { while (len) { // 写的字节长度,不能超过每次读或写的最大字节数max_processing_chunk size_t bytes_to_write = (r->max_processing_chunk && r->max_processing_chunk < len) ? r->max_processing_chunk : len; // 更新和校验 if (r->update_cksum) r->update_cksum(r,buf,bytes_to_write); // 调用自身的write方法写入 if (r->write(r,buf,bytes_to_write) == 0) return 0;//跳出循环 // 更新偏移量 buf = (char*)buf + bytes_to_write; // 更新剩余长度 len -= bytes_to_write; // 更新读或写的字节数 r->processed_bytes += bytes_to_write; } return 1; }

     

    最新回复(0)