c语言ini文件读写
时间: 2023-09-20 19:02:10 浏览: 124
C语言可以通过使用文件操作函数来读写INI文件。INI文件是一种以文本形式存储配置信息的文件,包含一系列的节和键值对。下面是一个简单的示例:
首先,我们需要创建一个INI文件,并写入一些配置信息。
#include <stdio.h>
int main() {
// 打开INI文件
FILE *file = fopen("config.ini", "w");
if (file == NULL) {
printf("无法打开INI文件。\n");
return 1;
}
// 写入配置信息
fprintf(file, "[System]\n");
fprintf(file, "Version=1.0\n");
fprintf(file, "Author=John Doe\n\n");
fprintf(file, "[Database]\n");
fprintf(file, "Host=localhost\n");
fprintf(file, "Port=3306\n");
fprintf(file, "Username=root\n");
fprintf(file, "Password=123456\n");
// 关闭INI文件
fclose(file);
return 0;
}
上述代码通过fopen函数创建一个名为config.ini的INI文件,并使用fprintf函数写入了一些配置信息,每个节和键值对都以特定的格式写入。写入完成后,可以使用fclose函数关闭文件。
接下来,我们可以通过打开已有的INI文件来读取其中的配置信息。
#include <stdio.h>
#include <stdlib.h>
int main() {
// 打开INI文件
FILE *file = fopen("config.ini", "r");
if (file == NULL) {
printf("无法打开INI文件。\n");
return 1;
}
char line[100];
char section[100];
char key[100];
char value[100];
// 逐行读取INI文件
while (fgets(line, sizeof(line), file) != NULL) {
// 解析节
if (line[0] == '[' && line[strlen(line) - 2] == ']') {
strncpy(section, line + 1, strlen(line) - 3);
section[strlen(line) - 3] = '\0';
}
// 解析键和值
else if (sscanf(line, "%[^=]=%[^\n]", key, value) == 2) {
printf("节: %s, 键: %s, 值: %s\n", section, key, value);
}
}
// 关闭INI文件
fclose(file);
return 0;
}
上述代码通过fopen函数打开了名为config.ini的INI文件,并使用fgets函数以行为单位读取文件内容。然后,代码解析了每一行的内容,并将解析的结果输出。
这只是一个简单的示例,实际的INI文件读写可能会更加复杂。C语言提供了多种文件操作函数,可以进行更高级的INI文件读写操作。
阅读全文