c语言 使用缓冲区填充结构体
时间: 2024-12-14 18:09:32 浏览: 7
在C语言中,使用缓冲区填充结构体是一种常见的数据处理方法。通常情况下,这种方法用于从文件、网络或其他数据源中读取数据,并将其存储到结构体中。以下是一个简单的示例,展示了如何使用缓冲区填充结构体:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体
typedef struct {
char name[50];
int age;
float height;
} Person;
// 函数声明
void fillStructFromBuffer(Person *person, char *buffer);
int main() {
// 创建一个结构体实例
Person person;
// 创建一个缓冲区并初始化
char buffer[100] = "John Doe 30 5.9";
// 使用缓冲区填充结构体
fillStructFromBuffer(&person, buffer);
// 打印结构体内容
printf("Name: %s\n", person.name);
printf("Age: %d\n", person.age);
printf("Height: %.2f\n", person.height);
return 0;
}
void fillStructFromBuffer(Person *person, char *buffer) {
// 使用sscanf函数从缓冲区读取数据并填充结构体
sscanf(buffer, "%s %d %f", person->name, &(person->age), &(person->height));
}
```
在这个示例中,我们定义了一个名为`Person`的结构体,并创建了一个缓冲区`buffer`。我们使用`sscanf`函数从缓冲区中读取数据,并将其存储到结构体`person`中。最后,我们打印结构体的内容以验证数据是否正确填充。
阅读全文