printf 遇到bash重定向

Posted 董小阁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf 遇到bash重定向相关的知识,希望对你有一定的参考价值。

      在printf之前添加:setvbuf(stdout,NULL,_IONBF,0);设置缓冲区为空。

  • 在每句printf之后添加:fflush(stdout);

方法一:

1
2
3
4
5
6
7
8
9
10
11
  #include <stdio.h>
 
int main(void) {
    setvbuf(stdout,NULL,_IONBF,0);
 
    char aa[20];
    printf ("input:");
    scanf("%s", aa);
    printf ("output:%s", aa);
    return 0;
}

 

1
2
3
4
5
6
7
8
9
10
11
  #include <stdio.h>
 
int main(void) {
    char aa[20];
    printf ("input:");
    fflush(stdout);
    scanf("%s", aa);
    printf ("output:%s", aa);
    fflush(stdout);
    return 0;
}

 

以上是关于printf 遇到bash重定向的主要内容,如果未能解决你的问题,请参考以下文章

根据退出代码bash脚本将命令重定向到变量或文件?

如何在 STM32F10x 上重定向 printf()?

将 printf 重定向到 UART 时,输出行呈阶梯状

STM32串口printf()重定向问题

STM32 Cubemx Printf重定向

301重定向没有片段[重复]