要使用c語言中的輸入和輸出,第一步要引入標準的庫函式
1.getc&putc函式
int getc( file * stream)
int putc(int char, file * stream)
getc函式通過接收乙個流物件,將流中的乙個字元讀入,而putc將傳入的字元輸送到對應的流中,流物件既可以是標準輸入輸出流也可以是使用者自己進行的檔案操作。
如果是標準輸入輸出流物件的操作,那麼這兩個方法等價與getchar(void)和putchar(void) which means:
int character=getc(stdin)其效果等價與int character=getchar();
當我們輸入第乙個字元x並且激動的按下回車的時候卻發現,我們沒有辦法再輸入第二個字元了!其實按下回車的這個動作也被stdin收錄在緩衝區中了,也就是相當於x\n,所以最後我們列印出來的h是在新的一行出現的,而不是緊跟在字元2:之後。\n是不可見字元但是卻佔據乙個字元的。
2.gets&puts函式
char *gets(char *str);
int puts(const char *str);
在c語言中沒有定義字串,在程式中要想表示字串通常使用字元陣列的形式 char str[size] ;而gets和puts函式是從stdin和stdout進行字串的讀入和寫出的。這裡要注意的是gets()中輸入的長度不能夠超過字元陣列的size否則程式會報錯
呼叫fgets函式的時候需要注意,fgets函式只能讀取buffer容量的size-1個字元,fgets函式會預設將最後的乙個字元填充為\0,並且將str內容進行返回。
其實這幾個函式的作用和上面函式的差不多,只不過傳遞的引數不同
int fgetc(file *stream);
char *fgets(char *str, int n, file *stream);
int fputc(int char, file *stream);
int fputs(const char *str, file *stream);
int ungetc(int char, file *stream); //這個方法是將stream中的指標位置後退一步,也就是恢復乙個字元。
stdin首先讀入乙個c\n9.getchar處理了第乙個c,scanf又讀取了後面的9此時的stdin中尚且還有乙個換行字元,所以str2最後輸出的也是空行。由於str2的容量大於1,所以str可以完整的讀取abcdef並且輸出。
我們來調整一下程式順序
void getcharmethod()
當str2=1234567890,str=123456789的時候我們又發現了無法輸入的問題
str2句末的時候塞了乙個回車給str,而str又將後面的回車塞給了charcter.(o(≧口≦)o)!
所以如果str的可見字元長度為8的話,我們就可以繼續進行輸入
簡單談談C語言中的 和
1.在c語言中等號 為賦值操作符,下面進行簡單說明賦值操www.cppcns.com作符的使用 1 變數的賦值操作 int a a 10 此處為將10賦值給a,賦值過後a的值為10 2 指標變數的賦值操作 分別為 取位址的賦值和指標變數的賦值 第一www.cppcns.com種 int arr 99...
c語言中的輸入輸出(一)
是轉義字元,以上這類符號用於格式輸入與格式輸出,就是我們常見的printf和scanf函式中。在輸入輸出時,對不同型別的資料 如int,float,char等 要使用不同的格式說明。d 按照十進位制整數形式輸入 出 帶符號整數,正數不輸出符號 o 按照八進位制輸入 出無符號整數 x 按照十六進製制輸...
C語言輸入和輸出
編寫程式的主要目的是為了處理資料,但是,資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種重要的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 用於輸入單個字元。gets 獲取一行資料,並作為字串處理。s...