标题:QFile打开一个配置文件的问题
作者:尽情享受寂寞
日期:2009-08-07 11:44
内容:
最近写了一个监控进程是否启动的程序,要监控的进程的相关信息都写在一个配置文件里“abcd.conf",然后通过QFile来读取该文件的内容,问题是当我这个程序是一般的程序时配置文件的路径可以是相对的(就是把配置文件放在和程序同一目录下,然后打开时只要这样执行:QFile in(“abcd.conf”),也可以是绝对的:QFile in("/../../abcd.conf")。但我借助qtservice类把程序编程守护进程的时候,路径只能是绝对的了,相对路径时提示打不开配置文件,苦恼了好久,不知道问题出在哪了,请高手指点啊,谢谢先
#1 [dbzhang800 08-07 12:58]
程序的工作目录 和 程序所在的目录 并不是总是一样的,你所说的相对,应该是相对于工作目录,而不是相对于程序所在的目录。
1. 如果你不能保证两个目录一致,你应该考虑在程序中先获取程序所在的目录,然后生成你的配置文件的绝对路径
2.QSettings 会不会比 QFile 更适合你?
#2 [尽情享受寂寞 08-09 23:21]
呵呵,谢谢楼上,问题已经解决,我是用QDir类的currentpath函数返回程序的当前路径,然后把配置文件名加到路径的最后就行了QString CuPath;
CuPath=QDir::currentpath();
CuPath=CuPath+"/abcd.conf";
呵呵,供大家参考