📜  使用 write 或 putchar 将整数打印到标准输出? - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:36:34.965000             🧑  作者: Mango

使用 write 或 putchar 将整数打印到标准输出 - C 编程语言

C 语言提供了多种将整数打印到标准输出的方法,本文将介绍如何使用 write 或 putchar 函数来实现这一功能。

使用 write 函数打印整数

write 函数是 UNIX 系统中常用的函数,用于向指定文件描述符写入数据。在 Linux 等系统中,标准输出通常对应文件描述符为 1。因此,我们可以使用 write 函数将整数打印到标准输出。

#include <unistd.h>
#include <stdio.h>

int main()
{
    int num = 123;
    char buf[16];

    int len = sprintf(buf, "%d", num);
    write(1, buf, len);

    return 0;
}

在上述代码中,我们先将整数 num 转换为字符串,然后使用 write 函数向标准输出写入该字符串。其中,sprintf 函数用于将整数转换为字符串,函数原型为:

int sprintf(char *str, const char *format, ...);

该函数将格式化的数据写入到字符串 str 中,并返回写入的字符数。

使用 putchar 函数打印整数

putchar 函数用于向标准输出写入单个字符。我们可以使用循环逐个输出整数 num 的每一位。

#include <stdio.h>

int main()
{
    int num = 123;

    if (num < 0) {
        putchar('-');
        num = -num;
    }

    if (num / 10) {
        print_number(num / 10);
    }

    putchar(num % 10 + '0');

    return 0;
}

在上述代码中,我们首先判断整数 num 是否为负数,如果是,则先输出负号,并将整数取相反数。然后,我们先递归输出 num 的高位(即除个位外的部分),再输出最低位(即个位)。

总结

本文分别介绍了使用 write 和 putchar 函数将整数打印到标准输出的方法。在实际应用中,我们可以根据具体需求选择合适的方法。此外,还有 printf 和 puts 等函数可用于将整数打印到标准输出,读者可根据需求选择适合自己的方法。