c语言代码展示读取配置文件中的数据,存入CONF结构体变量
时间: 2023-06-02 07:08:27 浏览: 60
好的,以下是一个读取配置文件中数据存入结构体的c语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 256 // 定义配置文件中每一行最大长度
typedef struct _CONF {
char ip[MAX_LENGTH];
char port[MAX_LENGTH];
char username[MAX_LENGTH];
char password[MAX_LENGTH];
} CONF;
int main() {
FILE *fp = NULL;
char line[MAX_LENGTH] = {0};
CONF conf = {0};
fp = fopen("config.conf", "r");
if (fp == NULL) {
printf("Failed to open config file!\n");
exit(1);
}
while (fgets(line, MAX_LENGTH, fp) != NULL) {
char *p = NULL;
p = strchr(line, '=');
if (p != NULL) {
*p = '\0';
p++;
if (strcmp(line, "ip") == 0) {
strncpy(conf.ip, p, MAX_LENGTH-1);
} else if (strcmp(line, "port") == 0) {
strncpy(conf.port, p, MAX_LENGTH-1);
} else if (strcmp(line, "username") == 0) {
strncpy(conf.username, p, MAX_LENGTH-1);
} else if (strcmp(line, "password") == 0) {
strncpy(conf.password, p, MAX_LENGTH-1);
}
}
}
fclose(fp);
printf("ip=%s\n", conf.ip);
printf("port=%s\n", conf.port);
printf("username=%s\n", conf.username);
printf("password=%s\n", conf.password);
return 0;
}
```
以上代码的思路是根据配置文件中的键值对,将每个键值对应存放到相应结构体成员中。在这个例子中,配置文件中包含了ip、port、username和password等键值,每个值的最大长度定义为256,可以根据实际情况进行修改。