linux

linux sscanf如何处理不同数据类型

小樊
85
2024-08-26 22:44:20
栏目: 智能运维

sscanf() 是一个 C 语言库函数,用于从字符串中读取格式化的输入

以下是一些使用 sscanf() 处理不同数据类型的示例:

  1. 读取整数和浮点数:
#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. 读取十六进制数:
#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() 时,请确保为目标变量分配足够的内存空间。对于字符串,请使用 %s 格式说明符,并确保缓冲区足够大以容纳整个字符串。对于其他数据类型,请根据需要选择适当的格式说明符。

0
看了该问题的人还看了