C語言緩衝區問題
今天寫了一個簡單的輸入輸出C語言程式:
#include <stdio.h>
int main()
{
//setvbuf(stdout,NULL,_IONBF,0);
char str[20];
printf("aha?");
//fflush(stdout);
scanf("%s",&str);
printf("%s",str);
}
然後我用Git的命令列介面編譯並執行:
執行的結果是,這東西不列印,等我輸入完一起列印。
後來我發現是第一句printf並沒有重新整理緩衝區!
解決方案:
- 在程式的第一行設定緩衝區為0
setvbuf(stdout,NULL,_IONBF,0);
- 手動重新整理緩衝區
fflush(stdout)
但是我想,我以前沒遇到啊,我看有人說這是windows和linux的區別??
於是我開啟windows的命令列試了一下,根本不需要手動重新整理的!
這個程式正常執行~
相關文章
- C語言清空輸入緩衝區C語言
- 主元素問題(C語言)C語言
- C語言解決排序問題C語言排序
- Java NIO:緩衝區Java
- stdio流緩衝區
- C語言常見使用問題2C語言
- C語言指標常見問題C語言指標
- Linux 命令 管道 緩衝區Linux
- Java NIO 之緩衝區Java
- Java整數緩衝區Java
- Unity深度緩衝區指令Unity
- 緩衝區溢位漏洞那些事:C -gets函式函式
- 【C語言練習題】小球反彈問題C語言
- Linux下C語言編譯的問題LinuxC語言編譯
- c 語言指標操作經典問題指標
- 笨辦法學C 練習44:環形緩衝區
- C語言與嵌入式C語言的區別C語言
- PHP的輸出緩衝區PHP
- Node.js Buffer(緩衝區)Node.js
- Java NIO 之 Buffer(緩衝區)Java
- 緩衝區溢位實驗
- JavaScript WebGL 幀緩衝區物件JavaScriptWeb物件
- 緩衝區溢位攻擊
- C語言初學者最常問的幾個問題C語言
- c語言實現貓吃老鼠的問題C語言
- 面試挖坑題:之C語言底層操作問題面試C語言
- PHP 輸出緩衝區應用PHP
- 8、Node.js Buffer(緩衝區)Node.js
- 緩衝區溢位小程式分析
- Java-NIO之Buffer(緩衝區)Java
- 《Lua-in-ConTeXt》10:緩衝區魔法Context
- Redis效能篇(五)Redis緩衝區Redis
- C語言字串例題C語言字串
- 探秘“棧”之旅(II):結語、金絲雀和緩衝區溢位
- C陷阱和缺陷,必須知道的495個C語言問題C語言
- 初識Netty原理 (二)——ByteBuf緩衝區Netty
- MySQL中讀頁緩衝區buffer poolMySql
- Java與C語言的區別?JavaC語言
- c語言程式設計題C語言程式設計