<分区>
我想知道所有这些输出函数,它们基本上是做什么的? 因为我多次遇到 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/