sscanf
是一個 C 語言庫函數,用于從字符串中讀取格式化的輸入
返回值:sscanf
函數返回成功匹配和賦值的項數。如果返回值為負數或零,表示沒有成功匹配任何項。對于每個未能匹配的項,sscanf
不會改變相應的變量值。
錯誤處理:通過檢查 sscanf
的返回值,可以確定是否發生了錯誤。例如,如果你期望從字符串中讀取兩個整數,但 sscanf
只返回一個整數,那么可以認為發生了錯誤。
下面是一個簡單的示例,展示了如何使用 sscanf
的錯誤處理機制:
#include<stdio.h>
int main() {
char input[] = "123 456";
int a, b;
int result = sscanf(input, "%d %d", &a, &b);
if (result == 2) {
printf("Successfully read two integers: %d and %d\n", a, b);
} else if (result == 1) {
printf("Only one integer was read: %d\n", a);
} else {
printf("No integers were read.\n");
}
return 0;
}
在這個示例中,我們嘗試從字符串 input
中讀取兩個整數。根據 sscanf
的返回值,我們可以判斷是否成功讀取了兩個整數。如果返回值為 1,表示只讀取了一個整數;如果返回值為 0,表示沒有讀取到任何整數。