Browse Source

修改ini value解析,符号#前面需要有空格或者制表符才认为是行注释的开始

zzj 6 years ago
parent
commit
5af1fd7a48
2 changed files with 19 additions and 6 deletions
  1. 4 3
      config.ini
  2. 15 3
      config_file.cpp

+ 4 - 3
config.ini

@@ -3,12 +3,13 @@
 
 ip = 192.168.1.1  #server ip
 port =  8000 	  #server ip
-test =            #test
+test =            ###test
 
 
-jdbc.driver.classname=java.io.class#
-a='11111#11'
+jdbc.driver.classname=java.io.class# #123
+a='11111#11'	###haha
 a=a
 c=b
 d=d
+passwd=yadb@2019#12345 #密码
 

+ 15 - 3
config_file.cpp

@@ -62,9 +62,21 @@ int config_file::open(const char*fname)
 			s=p+1;
 			continue;
 		}
-		char*r=strchr(v+1,'#');
-		if(r) *r=0;
-		else r=p;
+
+		char*r=v;
+
+		for(;r;)
+		{
+			r=strchr(r+1,'#');
+
+			if(r && (*(r-1)==' ' ||*(r-1)=='\t')) 
+			{
+				*r=0;
+				break;
+			}
+		}
+
+		if(r==0) r=p;
 
 		char*k=s;
 		*p=0;