c++ - printf 或任何输出函数实际上做了什么?

标签 c++ c outputstream

<分区>

我想知道所有这些输出函数,它们基本上是做什么的? 因为我多次遇到 printf 在遇到时并不总是在屏幕上打印,而且我听说它会放入缓冲区或类似的东西。 所以如果有人能说清楚实际发生了什么。 如果也可以给出关于输入函数的相同信息,那将是很好的。 你说得越深,就会有很大帮助。 . 谢谢。

最佳答案

大多数时候 printf 会做类似的事情:(没有缓冲部分和其他小事情)

对于 %s 标志:

void            my_putchar(char c)
{
  write(1, &c, 1);
}

int             my_putstr(char *str) // printf("%s", "hello");
{
  int           i;

  i = 0;

  while (str[i] != '\0')
    {
      my_putchar(str[i]);
      i = i + 1;
    }
}

还有 %d 标志

void            my_put_nbr(int nb) // printf("%d", 100);
{
  if (nb > 9)
    my_put_nbr(nb / 10);
  my_putchar(nb % 10 + '0');
}

关于c++ - printf 或任何输出函数实际上做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195151/

相关文章:

c - OpenVMS定时器精度,优于毫秒精度。

java - 重用 ObjectInputStream 会抛出 StreamCorruptedException

java - 我可以关闭 servlet 中的包装器输入流或输出流类吗?

C++如何杀死或 "refresh"一个线程?

c++ - 尝试发送第二个有效载荷后“解码有效载荷时出错”

c++ - 初始化 QGenericMatrix

C++ 函数返回 bool 未执行

c - 如何让我的程序在没有警告的情况下编译?

c - 使用某些浏览器的网络应用程序出现问题

java - DataOutputStream 写入()不工作