用C++写一个读取config配置文件的代码
时间: 2024-04-30 18:23:37 浏览: 91
以下是一个简单的用C语言读取config配置文件的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 256
int main(void) {
char line[MAX_LINE_LENGTH];
char key[MAX_LINE_LENGTH];
char value[MAX_LINE_LENGTH];
FILE *fp = fopen("config.txt", "r"); // 打开配置文件
if (fp == NULL) {
printf("无法打开配置文件\n");
return 1;
}
while (fgets(line, MAX_LINE_LENGTH, fp) != NULL) { // 逐行读取配置文件
if (line[0] == '#' || line[0] == '\n') { // 跳过注释和空行
continue;
}
if (sscanf(line, "%s = %s", key, value) == 2) { // 解析配置项
if (strcmp(key, "name") == 0) {
printf("姓名:%s\n", value);
} else if (strcmp(key, "age") == 0) {
printf("年龄:%s\n", value);
} else if (strcmp(key, "address") == 0) {
printf("地址:%s\n", value);
} else {
printf("未知配置项:%s\n", key);
}
} else {
printf("无法解析配置项:%s", line);
}
}
fclose(fp); // 关闭配置文件
return 0;
}
```
以上代码假设配置文件的格式为:
```
# 这是注释
name = 张三
age = 20
address = 北京市朝阳区
```
代码使用fgets函数逐行读取配置文件,遇到注释和空行跳过,解析有效的配置项,并根据配置项的名称输出其对应的值。配置项的名称和值之间使用等号和空格分隔。此代码仅为示例,实际应用中需要根据实际需求进行修改和扩展。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044736.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)