c语言怎么加载自己写的配置文件

我想实现这么一个功能 当程序启动时加载config。txt文件并读出 里面的配置文件
我是这么写的 然后就不会了
void sys_init(char * _CONFIG_NAME_ ){ int n; char line_of_file[MIX_FILE_LINE] ; //文件的一行 char usr_config_filename[MIX_FILE_LINE]; //配置文件值 char usr_fileval[MIX_FILE_LINE]; //配置文件参数名 FILE *fp = fopen( _CONFIG_NAME_ , "r"); fgets(line_of_file , MIX_FILE_LINE ,fp);

}
我本来的思路是 读一行把单词分开 然后分别放入不同的数组 ,然后再从数组中取文件的名字,这样我感觉太麻烦了

这个问题和c语言关系不是太大。保存和加载配置的方式有很多,看你的平台处理能力以及配置复杂度了,如果是很复杂的情况,可以使用sqlite数据库;一般也可以用json/xml/ini等通用格式;简单点可以直接用文本文件,或者二进制文件保存自定义格式。
前面两种方式可以用相关的库处理,后面这种就自己写了,方便调试的话,最好是用文本方式保存,这样比较容易检查。最直接的方式就是用类似KEY=VALUE这样的配对,比如:username=abc。每一个配置之间的分隔符可以直接用回车,这样方便查看最终保存的结果。操作的话,基本上就是定义一个配置的数据结构,然后填入所有配置数据,再挨个写进文件。读取的时候,就按KEY来解析VALUE,然后填入相应的位置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-16
我是这么做的,比如 ini 里以 #注释,以=表示赋值
#
# Note

#
aaa=bbb

我从ini里一行一行读出来,如果第一个字母是#,就忽略
否则就从 line_of_file 里查找 “=”字符,(去掉行末'\n'换行符)
=之前的就是参数名,=之后的就是参数值(去掉空格,tab)(用strncpy)本回答被提问者采纳
相似回答