fread從檔案流stream 中讀取nmemb個元素,寫到ptr指向的記憶體中,每個元素的大小為size個位元組。
fwrite從ptr指向的記憶體中讀取nmemb個元素,寫到檔案流stream中,每個元素size個位元組。
所有的檔案讀寫函式都從檔案的當前讀寫點開始讀寫,讀寫完以後,當前讀寫點自動往後移動size*nmemb個位元組。
gets()會忽略'\n',如果程式一執行,就按enter的話,字串中存的就是'\0'。遇到錯誤或到檔案結尾,返回null。
puts()會把'\0'換成\n輸出。遇到錯誤返回eof。
fgets()返回陣列首位址,'\n'也存上,再加個'\0',遇到檔案結尾返回null。遇到錯誤或到檔案結尾,返回null。
fputs不會在行尾自動新增換行符。遇到錯誤返回eof。
注意:從檔案中讀字串,末尾都是會自動新增』\0』d的。
/* 關於輸入輸出的問題此處再強調一次,gets不會儲存『\n』,並將最後乙個『\n』換成『\0』儲存。以f開頭的將格式化後的字串寫入到檔案流stream中,或者從檔案流stream中讀取格式化後的字串* puts會將『\0』變成『\n』輸出。
* gets是乙個不安全函式,會輸出直至遇到『\0』為止。
* fgets會儲存『\n』,fputs輸出時不會將『\0』變成『\n』
以s開頭的將格式化後的字串寫入到字串str中,或者從字串str中讀取格式化後的字串
對於寫函式,返回寫的字元個數(不包括『\0』),遇到錯誤返回乙個負數。
對於讀函式,返回匹配的個數。遇到錯誤或者到達檔案結尾,返回eof。
注意:對於讀函式,匹配字串時會忽略空格,並且會在結尾加』\0』。
read與write函式是linux系統呼叫,僅僅用於linux系統。非緩衝。
針對管道,read的返回值有如下3種情況:
1. 讀取正常,返回讀到的字元個數
2. 對方寫端關閉,read返回0
3. 自己的讀端關閉,read出錯,返回-1。
注意:用read讀資料到陣列中時,是不會自動在末尾加』\0 』的!
基本的輸入輸出函式
輸入輸出函式作為ci語言的介面,他們有著特殊的地位 printf 函式 他作為乙個標準的輸入列印函式,也是c語言中的一種變參函式,就是函式的引數數量不固定,這個是他的輸出條件 同樣的還可以加很多附加條件 注這裡面要說明的就是,資料都是需要單位的,沒有單位的資料是沒有意義的,所以我們在定義資料的時候要...
四 基 本 輸 入 輸 出 函 數
語 法 如 下 printf format string,arg1,arg2,argn 轉換字元的種類 種 類 表 示 法 功 能 敘 述 整 數 integer d 以十進位制方式印出。o 以八進位方式印出。x 以十六進製制方式印出。u 以不帶符號的十進位制方式印出。l 以長整數 long 方式印...
輸入 輸出函式
perror函式以一種簡單 統一的方式報告錯誤資訊。例如,如果乙個程式試圖從乙個並不存在的磁碟檔案讀取資料,作業系統除了提出發生了錯誤之外就沒有什麼好做的了。標準庫函式在乙個外部整形變數errno中保留錯誤 之後就把這個資訊傳遞給使用者程式,提示操作失敗的準確原因。void perror char ...