sscanf函數用于從字符串中讀取格式化輸入。它的語法如下:
int sscanf(const char *str, const char *format, ...);
其中,str是輸入的字符串,format是格式化字符串,…是可選的參數列表,用于接收解析結果。
下面是一個使用sscanf函數的示例:
#include <stdio.h>
int main() {
char str[] = "Hello 123 World";
char word[10];
int num;
sscanf(str, "%s %d", word, &num);
printf("Word: %s\n", word);
printf("Number: %d\n", num);
return 0;
}
輸出結果為:
Word: Hello
Number: 123
在這個示例中,我們定義了一個字符串str,并使用sscanf函數從中讀取一個字符串和一個整數。格式化字符串"%s %d"表示要讀取一個字符串后跟一個整數。sscanf函數將字符串str中符合格式化字符串的部分解析出來,并分別存儲到word和num變量中。
需要注意的是,sscanf函數返回成功解析的參數個數。在這個示例中,sscanf函數成功解析了兩個參數,因此返回值為2。如果返回值與參數格式不匹配,可能是因為解析失敗或者解析到的參數個數少于格式化字符串中指定的參數個數。