0
我试图仅使用本手册第二部分(http://man7.org/linux/man-pages/dir_section_2.html)中描述的Linux系统调用写入stdout。在Linux系统调用时使用格式说明符write()
ssize_t write(int fd, const void *buf, size_t count);
是我尝试使用的函数,但是我试图将格式说明符合并到缓冲区中。理想情况下,它会这样工作:
char *adjective = argv[1];
write(1, "This is a %s example\n", adjective, 19 + strlen(adjective));
但我显然不能这样做。我会如何去做类似的事情?
此外,我知道strlen()不是Linux系统调用的第2部分。因为计算缓冲区的长度并不是我的问题的一部分,所以我将它包括在内以简化。
不幸的是,对于这项任务,我不能使用snprintf(),因为它不在Linux手册的第2部分。 – adhdj
然后你不能使用格式说明符,它们是'printf()'函数族的一部分。 – Barmar
嘿!我开始怀疑我无法做到。谢谢! – adhdj