gpt4 book ai didi

c - 文件写操作前的触发函数

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:29 28 4
gpt4 key购买 nike

假设我们有一个函数:

void persist_result(FILE* to, unsigned char* b, int b_len) {...}

这会将给定的 FILE* 中的一些结果保存到

现在我想在数据写入to之前获取数据,用它做一些事情(假设加密它,等等)然后直接或间接调用实际的IO操作.

一种解决方案可能是设置缓冲区,但我不知道如何触发我的加密操作方法。

我也想在内存中获取一些文件句柄,但不知道是否有任何 ISO 方法可以做到这一点?

或者有更好的解决方案吗?

考虑以下几点:

  1. persist_result 需要写入的数据大小未知,可能是 1 个或多个字节。
  2. 我无法更改 persist_result 的来源。
  3. 没有 C++;它必须是一个可移植的 C 解决方案。

最佳答案

您正在寻找的是 Observer Pattern .当你的函数被调用时,实际上你可以先捕获那个调用,做你喜欢的任何事情然后继续你正在做的事情。您可以使用指向函数的指针在 C 中实现它。

你可以从下面得到灵感example

关于c - 文件写操作前的触发函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43955899/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com