c - 每秒打印数字
问题描述
#include <stdio.h>
#include <wiringPi.h>
#include <softPwm.h>
int main(void)
{
wiringPiSetupGpio();
for(int i = 0 ; i <50; i++)
{
if ( i%10 == 1)
{
printf("\n");
}
printf("%d ", i);
delay(1000);
}
return 0;
}
我在 rasberry pi 环境中工作。我想每 1 秒打印一个数字。但是这段代码并没有一个一个地打印一个数字,而是每 10 秒打印 10 个数字。此代码一次给出 10 个数字。有什么问题??
解决方案
默认情况下,标准输出通道是行缓冲的。这意味着在打印换行符之前,发送到标准输出的数据不一定会出现。
如果您调用fflush(stdout)
,将立即打印任何缓冲的输出。
printf("%d ", i);
fflush(stdout);
推荐阅读
- python - 与替换和最大出现约束的组合
- java - 安装了增强类反编译器仍然无法将 .class 反编译为 .java 源?
- python-3.x - 用 % 将 pandas 列拆分为数字
- node.js - 有没有办法自动定位谷歌浏览器 - NodeJS
- c# - Fiddler 没有看到应用程序对 SOAP Web 服务进行的事务
- javascript - 如何通过应用where子句从基于特定类别的array2中获取array1中不可用的记录
- python - 如何在python中将一个数字四舍五入到最接近的一百?
- python - 了解 ROUGE 与 BLEU
- python - 如何输入用int和字符串填充的列表
- python - Python中的生成器,代表无限流