溫馨提示×

linux sscanf如何處理不同數(shù)據(jù)類型

小樊
84
2024-08-26 22:44:20

sscanf() 是一個(gè) C 語言庫函數(shù),用于從字符串中讀取格式化的輸入

以下是一些使用 sscanf() 處理不同數(shù)據(jù)類型的示例:

  1. 讀取整數(shù)和浮點(diǎn)數(shù):
#include<stdio.h>

int main() {
    char str[] = "123 456.789";
    int i;
    float f;

    sscanf(str, "%d %f", &i, &f);
    printf("Integer: %d\n", i);
    printf("Float: %f\n", f);

    return 0;
}
  1. 讀取字符串和字符:
#include<stdio.h>

int main() {
    char str[] = "hello world";
    char s1[20], s2[20];

    sscanf(str, "%s %s", s1, s2);
    printf("String 1: %s\n", s1);
    printf("String 2: %s\n", s2);

    return 0;
}
  1. 讀取十六進(jìn)制數(shù):
#include<stdio.h>

int main() {
    char str[] = "1a 2b";
    int i1, i2;

    sscanf(str, "%x %x", &i1, &i2);
    printf("Hex 1: %d\n", i1);
    printf("Hex 2: %d\n", i2);

    return 0;
}

注意,在使用 sscanf() 時(shí),請確保為目標(biāo)變量分配足夠的內(nèi)存空間。對于字符串,請使用 %s 格式說明符,并確保緩沖區(qū)足夠大以容納整個(gè)字符串。對于其他數(shù)據(jù)類型,請根據(jù)需要選擇適當(dāng)?shù)母袷秸f明符。

0