Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示指针';s地址在C中,不使用printf?_C - Fatal编程技术网

显示指针';s地址在C中,不使用printf?

显示指针';s地址在C中,不使用printf?,c,C,我只需要使用libc库中的几个函数重新编码printf函数,即write、malloc和free以及其他一些基本函数。我唯一遇到问题的格式化选项卡是%p,因为我不知道如何使用write函数显示它,因为将指针地址传递给打印字符串的函数会导致输出为空。我也尝试过将其输入到char*和unsigned char*中,但这也不起作用。我在网上查找过,但只找到了有关禁用功能的解决方案,因此我甚至不确定从何处开始。通常如何处理任何其他类型的数据?定义“显示”。是否输出到控制台、窗口、打印机或其他输出设备?如

我只需要使用libc库中的几个函数重新编码printf函数,即write、malloc和free以及其他一些基本函数。我唯一遇到问题的格式化选项卡是%p,因为我不知道如何使用write函数显示它,因为将指针地址传递给打印字符串的函数会导致输出为空。我也尝试过将其输入到char*和unsigned char*中,但这也不起作用。我在网上查找过,但只找到了有关禁用功能的解决方案,因此我甚至不确定从何处开始。

通常如何处理任何其他类型的数据?定义“显示”。是否输出到控制台、窗口、打印机或其他输出设备?如果要将其存储在字符串中,请使用
sprintf
sprintf
fwrite
stdout
。然而,有些事情告诉我,真正的问题在很大程度上回避了这个问题。很抱歉,我意识到我的帖子信息量不大,所以我进行了编辑。我不允许使用sprintf或fwrite。我唯一可以用来写入标准输出的函数是write,我尝试通过putstr函数运行指针的地址,但没有成功。这将地址放在一个整型字段中(注意:假设
NULL
是地址0,这可能是但不确定的)。然后,您可以编写用该数字的十六进制表示形式填充字符串的代码(这是
%p
最常见的行为),然后编写该字符串的
write()