在Linux中,sscanf
函數是一個用于從字符串中讀取格式化輸入的函數
以下是一個使用sscanf
解析字符串的簡單示例:
#include<stdio.h>
int main() {
char input[] = "Hello, my name is John! I am 30 years old.";
char name[20];
int age;
// 使用sscanf從字符串中提取名字和年齡
int result = sscanf(input, "Hello, my name is %19s! I am %d years old.", name, &age);
if (result == 2) {
printf("Name: %s\n", name);
printf("Age: %d\n", age);
} else {
printf("Failed to parse the input string.\n");
}
return 0;
}
在這個示例中,我們使用sscanf
函數從字符串input
中提取名字和年齡。%19s
表示讀取一個最大長度為19的字符串(加上空字符),%d
表示讀取一個整數。我們需要傳遞一個指向整數變量的指針(&age
),以便將讀取的值存儲在該變量中。
運行此程序將輸出:
Name: John
Age: 30
請注意,sscanf
函數的返回值表示成功讀取的參數數量。在這種情況下,如果返回值為2,則表示我們已成功讀取名字和年齡。