博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中%*[^\n]的重要用途(从JM8.6解码器中学到的)
阅读量:4141 次
发布时间:2019-05-25

本文共 1242 字,大约阅读时间需要 4 分钟。

      很多软件都有配置文件,软件代码需要从配置文件中获取信息. 在看JM8.6解码器时,需要解析配置文件,以便从配置文件decoder.cfg中获取信息. 当然配置文件中有“注释”,那么,如何滤掉这些“注释”呢?

      decoder.cfg文件中的内容为:

 

test.264                 ........H.264 coded bitstream   

test_dec.yuv             ........Output file, YUV 4:2:0 format    
test_rec.yuv             ........Ref sequence (for SNR)   
10                       ........Decoded Picture Buffer size   
0                        ........NAL mode (0=Annex B, 1: RTP packets)   
0                        ........SNR computation offset   
1                        ........Poc Scale (1 or 2)   
500000                   ........Rate_Decoder   
104000                   ........B_decoder  
73000                    ........F_decoder  
leakybucketparam.cfg     ........LeakyBucket Params     

This is a file containing input parameters to the JVT H.264/AVC decoder.

The text line following each parameter is discarded by the decoder.

 

       那么,怎样从配置文件中读出有用信息呢?代码如下:

#include
int main(){ char inputFile[20]; char outputFile[20]; char refFile[20]; int bufferSize; FILE *fp = fopen("decoder.cfg", "r"); fscanf(fp, "%s", inputFile); fscanf(fp,"%*[^\n]"); fscanf(fp, "%s", outputFile); fscanf(fp,"%*[^\n]"); fscanf(fp, "%s", refFile); fscanf(fp,"%*[^\n]"); // 千万别忘了bufferSize前面的& fscanf(fp, "%d", &bufferSize); fscanf(fp,"%*[^\n]"); fclose(fp); printf("%s\n", inputFile); printf("%s\n", outputFile); printf("%s\n", refFile); printf("%d\n", bufferSize); return 0;}

      结果为:

test.264

test_dec.yuv
test_rec.yuv
10

转载地址:http://vjzti.baihongyu.com/

你可能感兴趣的文章
转载知乎-前端汇总资源
查看>>
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>
jQuery ajax - ajax() 方法
查看>>
将有序数组转换为平衡二叉搜索树
查看>>
最长递增子序列
查看>>
从一列数中筛除尽可能少的数,使得从左往右看这些数是从小到大再从大到小...
查看>>
判断一个整数是否是回文数
查看>>
经典shell面试题整理
查看>>
腾讯的一道面试题—不用除法求数字乘积
查看>>
素数算法
查看>>
java多线程环境单例模式实现详解
查看>>
将一个数插入到有序的数列中,插入后的数列仍然有序
查看>>
在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found
查看>>
万年历
查看>>
作为码农你希望面试官当场指出你错误么?有面试官这样遭到投诉!
查看>>
好多程序员都认为写ppt是很虚的技能,可事实真的是这样么?
查看>>