sscanf
函數是 C 語言標準庫 <stdio.h>
中的一個函數,用于按照指定的格式從一個字符串中讀取輸入。它的用法類似于 scanf
函數,但是 sscanf
從字符串中讀取輸入,而不是從標準輸入(鍵盤)中讀取輸入。
以下是 sscanf
函數的基本用法:
#include <stdio.h>int sscanf(const char *str, const char *format, ...);
-
str
:要讀取的輸入字符串。 -
format
:指定了輸入的格式,類似于scanf
中的格式字符串。 -
...
:額外的參數,用于存儲從輸入字符串中讀取的數據。
sscanf
函數根據指定的格式字符串 format
從輸入字符串 str
中讀取數據,并將讀取到的數據存儲到額外的參數中。下面是一個簡單的示例,說明了 sscanf
函數的用法:
#include <stdio.h>int main() {char str[] = "John 25";char name[20];int age;// 使用 sscanf 從字符串中讀取數據sscanf(str, "%s %d", name, &age);// 輸出讀取到的數據printf("Name: %s\n", name);printf("Age: %d\n", age);return 0;
}
在這個示例中,我們從字符串 “John 25” 中讀取名字和年齡,并將它們存儲到 name
和 age
變量中。通過使用 sscanf
函數,我們可以方便地從字符串中提取需要的數據。
需要注意的是,sscanf
函數的格式字符串與 scanf
函數的格式字符串類似,可以包含格式說明符(如 %d
、%s
等)以及轉換說明符(如 %*s
、%n
等),用于指定要讀取的數據類型和格式。