常用輸入輸出函式
micryfotctf發表於2024-10-13
常用輸入輸出函式
printf()
:把輸出傳送到一個叫作緩衝區(buffer)的中間儲存區域。
- 當緩衝區滿、遇到換行字元或需要輸入的時候迫使
printf()
的輸出被髮送到螢幕上。
- 可以使用
fflush()
函式重新整理緩衝區
printf()
的返回值是待顯示字元的個數
printf()
中如果你不想預先指定欄位寬度,希望透過程式來指定,那麼可以用*修飾符代替欄位寬度。但還是要用一個引數告訴函式,欄位寬度應該是多少。也就是說,如果轉換說明是%*d
,那麼引數列表中應包含*和 d對應的值。這個技巧也可用於浮點值指定精度和欄位寬度。(%*.*f
)
scanf()
:scanf()函式每次讀取都會跳過所有的空白字元,直至遇到第1個非空白字元才開始讀取。
- 讀取整數(%d):
scanf()
希望發現一個數字字元或者一個符號(+或-)。如果遇到一個非數字字元,它便認為讀到了整數的末尾。scanf()
把非數字字元放回輸入。意味著程式在下一次讀取輸入時,首先讀到的是上一次讀取丟棄的非數字字元。
- 讀取字元(%c):讀取單個字元
- 讀取字串(%s):
scanf()
會讀取除空白以外的所有字元。意味著只能讀取一個單詞。
- 無法利用欄位寬度讓只有一個%s的
scanf()
讀取多個單詞。如果使用欄位寬度,scanf()
在欄位末尾或第1個空白字元處停止讀取。
- 格式字串中的普通字元:
scanf()
允許把普通字元放在格式字串中。但除空格字元外的普通字元必須與輸入字串嚴格匹配。
- 假設在兩個轉換說明中加一個逗號:
scanf("%d,%d", &n, &m);``scanf()
函式將其解釋成:使用者將輸入一個數字、一個逗號,然後再輸入一個數字。也就是說,使用者必須像下面這樣進行輸入兩個整數:
- 由於格式字串中,%d後面緊跟逗號,所以必須在輸入第一個數後再輸入一個逗號。
- 對於
scanf()
,一定要記得在變數名前加上地址運算子。
scanf()
的返回值=scanf()
成功讀取的項數。如果沒有讀取任何項,或者需要讀取一個數字而使用者卻輸入一個非數值字串,即型別不匹配,scanf()
便返回0。
- 當
scanf()
檢測到“檔案結尾”時,會返回EOF
(EOF是stdio.h中定義的特殊值,通常用#define
指令把EOF定義為-1
)。
scanf()
中如果把*放在%和轉換字元之間時,會使得scanf()
跳過相應的輸出項。
- 示例:
scanf("%*d %*d %d", &n);
其中的scanf()
指示:跳過兩個整數,把第3個整數複製給n。
- 在程式需要讀取檔案中特定列的內容時,這項跳過功能很有用。
scanf()
函式檢測到檔案結尾時返回EOF。
getchar()
:讀取下一個輸入字元
- 使用int陣列時
getchar
只能賦值數字,無法賦值其他字元容易出錯。
- getchar()和 putchar()不需要轉換說明,因為它們只處理字元。
- 在C語言中,用
getchar()
讀取檔案檢測到檔案結尾時將返回EOF
。
- 把
getchar()
的返回值和EOF
作比較。如果兩值不同,就說明沒有到達檔案結尾。
- 檢測檔案結尾:
while ((ch = getchar()) != EOF)
- 不能把
getchar()
和 scanf()
這兩個函式混用
getchar()
讀取每個字元,包括空格、製表符和換行符;
scanf()
在讀取數字時則會跳過空格、製表符和換行符
以 int 型別讀取字元(這樣做可以檢測 EOF)
putchar()
:列印一個字元
相關文章
- 輸出輸入函式彙總
2021-10-22
函式 - C語言_輸入輸出函式_PAGE5
2024-11-24
C語言函式 - 新手學python之Python的輸入輸出函式
2021-09-11
Python函式 - ncurses輸出函式:字元+字串的輸出
2018-06-20
函式字元字串 - ncurses輸入函式:字元+字串的輸入
2018-06-20
函式字元字串 - C語言——常用標準輸入輸出函式 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字串拷貝函式 strcpy(), strncpy(), strchr(), strstr()函式用法特點
2019-02-21
C語言函式字串 - C++輸入輸出常用格式(cin,cout,stringstream)
2018-07-28
C++ - C++逐字輸出函式
2020-10-03
C++函式 - 輸入輸出
2024-06-03
- 輸入輸出流
2024-10-19
- excel除法公式怎麼輸入 excel除法函式怎麼輸入
2022-04-01
Excel公式函式 - 要點3:輸入函式對比與自定義輸入方式
2020-08-18
函式 - 一、輸入一個數(這裡用函式實現) 1.輸出它是幾位數 2.逆序輸出 3.正序輸出
2020-12-10
函式 - 1.輸入輸出
2024-12-06
- 【C++】輸入輸出
2022-02-03
C++ - 輸入輸出系統
2020-12-22
- shell——shell輸入輸出
2020-12-06
- Java 輸入輸出流
2018-12-23
Java - 演算法競賽中的常用輸入輸出總結
2019-01-24
演算法 - linux中的輸入與輸出管理(重定向輸入,輸出,管道符)
2020-10-05
Linux - 演算法題 - ACM 模式中常用輸入輸出用法總結
2024-12-08
演算法ACM模式 - C語言之輸入輸出
2024-10-24
C語言 - Java基礎輸入輸出
2024-03-11
Java - C語言輸入輸出
2024-04-29
C語言 - 03 資料輸入-輸出
2020-11-04
- 格式化輸入輸出
2020-11-05
- Shell輸入\輸出重定向
2020-09-29
- 排序,檔案輸入輸出
2020-12-11
排序 - Java —— 標準輸入輸出
2018-10-28
Java - 資料的輸入輸出
2019-01-20
- python ----輸入輸出 變數
2019-01-17
Python變數 - Python輸入和輸出(IO)
2019-03-03
Python - python 標準輸入輸出
2018-04-21
Python - Python3常用輸入模式:-輸入多組,固定組,多個輸入
2020-11-20
Python模式 - Go 最直接的debug 方式 輸出函式
2021-12-13
Go函式 - 【MATLAB】利用size()函式輸出陣列大小
2020-11-28
Matlab函式陣列 - thinkphp 輸出變數使用函式處理
2018-10-19
PHP變數函式 - 04.Beetl常用內建函式以及安全輸出—《Beetl視訊課程》
2018-11-24
函式