我是“C”编程的初学者。 我计划使用某种静态配置文件将输入文件转换为不同的格式/输出文件。
例如: 输入文件内容: HDRUS15Jan2014153600MY22Jan2014000000KUL DTLUSANZABC 私有(private)公司,亚利桑那州 53213。 DTLMYKULJS Sdn Bhd, 吉隆坡 49000 。
输出文件内容: ANZ15Jan2014153600 ABC 私有(private)公司,亚利桑那州 53213。 KUL22Jan2014000000 JS Sdn Bhd, 吉隆坡 49000 。
提示: 输入文件格式是固定长度,HDR和DTL关键字是行标识符。 我想避免实现提取内容的硬编码,而是想要一种配置文件...基于配置文件,将提取输入文件内容并构造输出文件。
这个概念将允许我将来在输出文件中生成附加信息,而无需修改源代码。 我将只是更改配置文件...
任何想法都会受到赞赏。
最佳答案
为什么您的输入不使用任何众所周知的数据表示格式(例如 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]);
}
关于c - 动态文件格式转换 - C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187830/