gpt4 book ai didi

c - 如何使函数仅打印 "^@"并带有 |猫-e

转载 作者:行者123 更新时间:2023-11-30 21:09:17 26 4
gpt4 key购买 nike

我正在重新编码 printf,我从 printf 获得的行为与真正的 printf 略有不同,因为我使用字符串(即 malloc),而真正的 printf 使用写入函数。

做的时候:

./a.out | cat -e

:

#include <unistd.h>
int main()
{
printf(%c, 0);
return (0);
}

在终端中写的是^@

虽然我的函数在没有管道(cat -e)的情况下 react 相同,但使用管道仍然不打印任何内容。你能告诉我如何让我的函数在 | 时写入“^@”吗? cat -e 是用在上面的吗?

最佳答案

您正在打印字符 ascii 值 0。它是一个空值。当您只是使用 ./a.out | 执行时cat./a.out 它不会打印任何内容。因为默认情况下 cat 不会打印不可打印的字符。但是当您与 cat -e 一起使用时,它用于打印不可打印的字符。

 printf("%c",0);

来自 cat 的手册页,

 -e     equivalent to -vE
-E, --show-ends
display $ at end of each line
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB

关于c - 如何使函数仅打印 "^@"并带有 |猫-e,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946462/

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