scanf讀取完以後游標會移到成功讀取的下一位,在遇到可以讀取的資料之前,會忽略所有的空白字元
如果讀取失敗,游標仍然留在失敗這一位,並且返回0,也就是說如果下次仍然使用scanf讀取相同型別的資料,會永遠卡在這一位。
(scanf會把游標移動到讀取完畢的後一位,比如
int a;
char c;
scanf("%d",&a);
scanf("%d",&c);
如果輸入是10+回車
會發現如果輸出c的話,是乙個回車
gets()函式遇到換行符會停止讀取,把之前的內容存入字串(不包括換行符),並且把游標移動到換行符的下一位
關於檔案IO
對作業系統而言,所有的東西都是一種檔案.能用記事本開啟的程式語言寫的.cs.c.cpp.js.txt.ini.bat.txt input 輸入 寫檔案 output 輸出 讀取檔案 system.io包含了針對檔案操作的一些class streamreader 是乙個class 針對能夠使用記事本開...
關於IO記憶體
外設的sfr 特殊功能暫存器 編址與記憶體的編址是同乙個位址空間,叫做io記憶體。linux 核心執行後,開啟了mmu 記憶體管理單元 所以不能直接訪問 cpu 的實體地址,也就是說,不能直接使用實體地址訪問系統的 io 記憶體。必須將實體地址轉換為虛擬位址,核心通過虛擬位址來訪問系統的 io 記憶...
高階I O函式
套接字i o操作上設定超時的方法有以下3種 1.呼叫alarm,在指定超時期滿時產生sigalrm訊號。2.在select種阻塞等待i o,一次代替直接阻塞在read或write呼叫上。3.使用較新的so rcvtimeo和so sndtimeo套接字選項。以由呼叫者指定的超時上限呼叫connect...