gpt4 book ai didi

c - 带引用参数的 printf

转载 作者:行者123 更新时间:2023-11-30 17:49:19 24 4
gpt4 key购买 nike

想象一下,有一个标签在创建后每秒更新 x 次。标签的文本作为格式说明 rune 本(ala printf)给出,格式说明符的任何参数都会在重绘时更新,因为格式说明符的参数是指向其各自值的指针。sprintf 的任何变体都像这样工作吗?

代码的工作原理如下:

/* client */
createLabel("Value is %f", &myFloatValue);

我还没想出办法来做到这一点,有人有什么想法吗?我想人们可以解析格式文本,检索指针(和类型),并将它们作为某个对象存储在列表中,稍后您可以在其中重新打印文本,并且可能将格式委托(delegate)给对象本身,只向它们传递一个文本缓冲区。 .嗯

顺便说一句,接口(interface)是 C,但主机是 C++。

好吧,我得到了一个“工作”原型(prototype),但它主要是用汇编程序编写的。无论如何,它演示了 api 的预期用途。任何人都可以看到一种可移植的方法来做到这一点/对实现​​有更好的想法吗?它相当大,所以我将其发布在 Pastebin 上: http://pastebin.com/H8ZpWb4u

最佳答案

因此,您的 createLabel 界面将存储格式字符串以及您想要在字符串中显示的变量的地址。然后只需使用标准的旧 sprintf 重新格式化文本即可。只需要小心那些指向数据的指针,并确保在必要时使它们无效。

我不太确定问题是什么。您还在寻找什么? sprintf 能够执行您想要的操作,但您必须自己跟踪格式字符串和变量地址。

关于c - 带引用参数的 printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17931798/

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