linux c语言读取配置文件的每一行所有信息并全部保存到对应变量中
时间: 2024-02-03 11:13:38 浏览: 76
可以使用C标准库提供的文件操作函数和字符串操作函数来读取配置文件并保存变量。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1024 // 最大行长度
int main() {
FILE* fp;
char line[MAX_LINE_LENGTH];
char key[MAX_LINE_LENGTH];
char value[MAX_LINE_LENGTH];
fp = fopen("config.txt", "r");
if (fp == NULL) {
printf("Failed to open config file.\n");
exit(1);
}
while (fgets(line, MAX_LINE_LENGTH, fp)) {
if (strlen(line) <= 1 || line[0] == '#') {
// 空行或注释行,跳过
continue;
}
// 解析key和value
sscanf(line, "%s %s", key, value);
// 根据key保存对应的value到变量中
if (strcmp(key, "var1") == 0) {
// 保存到var1变量中
strcpy(var1, value);
} else if (strcmp(key, "var2") == 0) {
// 保存到var2变量中
strcpy(var2, value);
} else {
// 未知key,忽略
printf("Unknown key: %s\n", key);
}
}
fclose(fp);
return 0;
}
```
以上代码假设配置文件的格式为:
```
# 注释行
var1 value1
var2 value2
```
其中,以 `#` 开头的行为注释行,需要忽略。每一行的第一个字符串为 key,第二个字符串为 value。根据不同的 key,将对应的 value 保存到对应的变量中。
阅读全文