windows C语言创建配置文件,查询某个配置项,改写某个配置项
时间: 2024-01-18 07:02:27 浏览: 69
C语言 实现配置文件的编写与解析
要在 Windows 平台上使用 C 语言创建配置文件、查询某个配置项和改写某个配置项,可以使用标准库中的文件操作函数和字符串操作函数。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LEN 1024
int main(int argc, char* argv[]) {
const char* filename = "config.ini";
const char* target_key = "name";
const char* new_value = "ChitChat";
// 写入配置文件
FILE* fp = fopen(filename, "w");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
return -1;
}
fprintf(fp, "name = ChitGPT\n");
fprintf(fp, "model = small\n");
fclose(fp);
// 查询和修改某个配置项的值
fp = fopen(filename, "r+");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
return -1;
}
char line[MAX_LINE_LEN];
while (fgets(line, MAX_LINE_LEN, fp)) {
// 去除行末的换行符
line[strcspn(line, "\r\n")] = '\0';
// 解析配置项和配置值
char* delim = strchr(line, '=');
if (delim == NULL) {
continue;
}
*delim = '\0';
const char* key = line;
char* value = delim + 1;
if (strcmp(key, target_key) == 0) {
// 找到目标配置项,修改其值
fseek(fp, delim - line + 1, SEEK_CUR);
fprintf(fp, "%s\n", new_value);
break;
}
}
fclose(fp);
// 重新读取配置文件,输出所有配置项和配置值
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
return -1;
}
while (fgets(line, MAX_LINE_LEN, fp)) {
// 去除行末的换行符
line[strcspn(line, "\r\n")] = '\0';
// 解析配置项和配置值
char* delim = strchr(line, '=');
if (delim == NULL) {
continue;
}
*delim = '\0';
const char* key = line;
const char* value = delim + 1;
printf("%s = %s\n", key, value);
}
fclose(fp);
return 0;
}
```
运行以上代码后,会在当前目录下创建一个名为 `config.ini` 的配置文件,并写入两个配置项 `name` 和 `model`。然后再查询其中的 `name` 配置项的值,并将其修改为 `ChitChat`,并输出修改后的所有配置项和配置值。
注意,以上代码只是一个简单的示例,实际上需要对文件读写进行错误处理和异常处理,以确保程序的健壮性和稳定性。同时,如果需要查询和修改的配置项不存在,则需要在读取文件时进行相应的处理。
阅读全文