在Linux中,sscanf
函數(shù)是一個(gè)用于從字符串中讀取格式化輸入的函數(shù)
以下是一個(gè)使用sscanf
解析字符串的簡(jiǎn)單示例:
#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;
}
在這個(gè)示例中,我們使用sscanf
函數(shù)從字符串input
中提取名字和年齡。%19s
表示讀取一個(gè)最大長(zhǎng)度為19的字符串(加上空字符),%d
表示讀取一個(gè)整數(shù)。我們需要傳遞一個(gè)指向整數(shù)變量的指針(&age
),以便將讀取的值存儲(chǔ)在該變量中。
運(yùn)行此程序?qū)⑤敵觯?/p>
Name: John
Age: 30
請(qǐng)注意,sscanf
函數(shù)的返回值表示成功讀取的參數(shù)數(shù)量。在這種情況下,如果返回值為2,則表示我們已成功讀取名字和年齡。