易截截图软件、单文件、免安装、纯绿色、仅160KB

C怎样读取配置文件并设成环境变量

初学C语言, 有个程序没办法写出来, 想请教一下各位高手.
一个配置文本文件, 如
x=1
;y=2
c=3
读取到分号跳过, 不知道用什么方法比较简单, 好像用getc再判断我想了下没办法简单实现.
然后把x,c设成dos环境变量, putenv因为退出程序就不行了, 我也百度没找到答案.

配置文件比较好读取
//////////mysyscfg.ini
;全局配置信息
[global]
;默认皮肤路径
default_skin_dir=skin\default\
;皮肤配置文件
skin_config_file=define.cfg
///////////

C/C++ code:

FILE *fp;

char inipath[MAX_PATH];
strcpy_s(inipath,"..\\..\\mysyscfg.ini");
if (fopen_s(&fp, inipath, "rb"))
{
strcpy_s(inipath,".\\syscfg.ini"); // 如果不存在,载入默认文件
}
else
{
fclose(fp);
}
CString appSysCfgFile(inipath);

CString buffer;

//全局
GetPrivateProfileString(_T("global"),_T("default_skin_dir"),_T("skin\\default"),
global.default_skin_dir.GetBuffer(MAX_PATH),MAX_PATH,appSysCfgFile);
global.default_skin_dir.ReleaseBuffer();
global.default_skin_dir = GetAppDir() + global.default_skin_dir;

GetPrivateProfileString(_T("global"),_T("skin_config_file"),_T("define.cfg"),
global.skin_config_file.GetBuffer(MAX_PATH),MAX_PATH,appSysCfgFile);
global.skin_config_file.ReleaseBuffer();


相关问答:

急!C parser如何实现“__builtin_va_list”

最近在看一个用bison实现的C parser,OS是opensolaris。当用它来解析一个简单的hello.c时,出现“/usr/include/sys/va_list.h: parse error before __gnuc_va_list”。打开文件va_list.h后发现这样一行“typedef __bu ......

c#控制Mysql 实现自动删除功能 - .NET技术 / C#

有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......

C 程序问题(四) - C/C++ / C语言

#include "stdio.h"
int main()
{
  char *ch(char *, char *);
  char str1[]="I am glad to meet you!";
  char str2[]="Welcom to study C!";
&nb ......

linux下C语言开发oracle的问题。

两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库 
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......

c归并排序 - C/C++ / C语言

void guibing(int a[],int n)
{
}
我已经初始化了一个数组a[30000]且赋值,想对这个数组进行归并排序。
但是具体怎么实现还是不知道。求源码
比如说。先一个一个排序,然后再将排序好的两个两个排序。那么这个排 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号