再次体验 sscanf函数的强大

    本来好复杂的一个文件读写程序,只要经过sscanf 函数出马,立即减少了几百行

处理文件字符

#photo
 21 photo.capturemode=Single #Single (2S Timer) (5S Timer) (10S Timer)
 22 photo.resolution=2MHD #2MHD VGA 1.3M //12M 10M 8M 5M 3M
 23 photo.sequence=Off #On Off
 24 photo.quality=Fine #Fine Normal Economy
 25 photo.sharpness=Normal #Strong Normal Soft
 26 photo.whitebalance=Auto #Auto Daylight Cloudy Tungsten Fluorescent
 27 photo.color=Color #Color Black&White Sepia
 28 photo.isolimit=Auto #Auto 800 400 200 100
 29 photo.ev=0 #+2.0 +1.5 +1.0 +0.5 0 -0.5 -1.0 -1.5 -2.0
 30 photo.antishaking=Off #On Off
 31 photo.datestamp=Off #On Off

while(fgets(linebuffer, 512, fp))

................此处代码省略

 sscanf(linebuffer, "%[^=]=%[^=-#]", buffer1,buffer2);

这样就能成功截取到# 号之前 =号两侧的字符串了,good

修改# 之前的字符串方式怕占用内存大小不一样就每次都strcpy 一个#号,下次读取文件也照样能读取到#之前的东西,不过这样# 后面的注释有时候就会被修改,不过没关系,这个# 后面只是注释给人看的,没有实际的意义。这么写就是方便,瑕不掩瑜。


你可能感兴趣的:(再次体验 sscanf函数的强大)