我需要与两个通过基于文件的接口进行通信的C程序一起工作。也就是说,它们中的每一个都有一个主循环,在其中轮询三到四个文件(fopen,fscanf),根据读取的内容做出反应,并最终对文件进行自己的更改(fprintf),以便另一个进程可以读取。
现在我必须将这两个程序压缩成一个单独的程序,尽可能少地更改程序逻辑和代码。然而,主要是为了美观起见,我应该用内存中的某些东西替换基于文件的通信。
我可以想象几种hacky的方法来实现这一点,但我相信stackoverflow会给我提供一个漂亮的解决方案 :)
fopen()
、fclose()
等,而是用诸如HLINK open_link()
、close_link(HLINK)
、read_link_data(HLINK)
等函数替换它们,其中HLINK
是一个typedef为“something”的东西,这将取决于您决定使用的机制。因此,如果将来再次进行这种练习,您只需要更改类型定义和一些函数即可。 - Praetorian