linux c语言读取配置文件逐行读取内容并保存在不同的变量中
时间: 2024-02-01 11:14:32 浏览: 86
在 Linux C 语言中读取配置文件的方法有很多种,其中比较常用的是使用 fopen() 和 fgets() 函数逐行读取文件内容,并使用 sscanf() 函数将读取到的数据保存在不同的变量中。
下面是一个简单的示例代码,演示了如何使用这些函数来读取配置文件:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char buf[100];
int port = 0;
char host[20], username[20], password[20];
// 打开配置文件
fp = fopen("config.ini", "r");
if (fp == NULL) {
printf("Failed to open config file!");
return 1;
}
// 逐行读取文件内容
while (fgets(buf, sizeof(buf), fp) != NULL) {
// 使用 sscanf() 函数解析每行数据
sscanf(buf, "host=%s", host);
sscanf(buf, "username=%s", username);
sscanf(buf, "password=%s", password);
sscanf(buf, "port=%d", &port);
}
// 输出读取到的数据
printf("Host: %s\n", host);
printf("Username: %s\n", username);
printf("Password: %s\n", password);
printf("Port: %d\n", port);
// 关闭文件
fclose(fp);
return 0;
}
```
以上代码假设配置文件中有以下内容:
```
host=example.com
username=admin
password=123456
port=8080
```
输出结果为:
```
Host: example.com
Username: admin
Password: 123456
Port: 8080
```
请注意,以上代码仅为示范用途,实际应用中需要进行错误处理和安全性检查,以避免潜在的安全问题。
阅读全文