动态FileFormat转换 - C编程

时间:2014-01-17 14:09:11

标签: c file-io

我是“C”编程的初学者。 我打算使用某种静态配置文件将输入文件转换为不同的格式/输出文件。

例如: 输入文件内容: HDRUS15Jan2014153600MY22Jan2014000000KUL DTLUSANZABC私人公司,亚利桑那州53213。 DTLMYKULJS Sdn Bhd,Kuala Lumpur 49000。

输出文件内容: ANZ15Jan2014153600 ABC私人公司,亚利桑那州53213。 KUL22Jan2014000000 JS Sdn Bhd,Kuala Lumpur 49000。

提示: 输入文件格式是固定长度和HDR& DTL关键字是行标识符。 我想避免实现提取内容的硬编码,而是希望有一种配置文件...基于配置文件,将提取输入文件内容并构造输出文件。

此概念允许我将来在输出文件中生成其他信息,而无需修改源代码。 我将只是更改配置文件......

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

为什么你不使用任何众所周知的数据表示格式如json或xml作为输入?通过使用这种格式,您将来没有任何问题

json将是一个不错的选择,并且有c(libjansson等)的实现。

修改

好的,然后将配置数据存储在文件中,使用某种格式(我更喜欢json ...) 你将需要抵消和贷款信息:

    [
      {
        offset: 0, 
        len: 10
      }
      {
       offset: 10, 
       len: 10
      }
    ]

然后您可以在程序中读取此文件并使用该信息来解析您的输入:

    int offset = getOffset(0);
    int len;  = getLen(0);
    int i;
    for(i = offset; i<len; i++)
    {
      doSomething(input[i]);
    }