具有大量输入文件的C程序的最佳实践

时间:2019-06-25 15:27:31

标签: c file-io multiple-files

我正在编写一个使用7个输入文件的C程序。我可以将这些参数作为命令行参数传递给我的程序,但是它并不十分简洁,并且可能会导致它们提供的顺序出错。

我曾想过创建1个包含7个必需文件名的输入文件,然后将其传递给我的程序。

向C程序提供大量输入文件的最佳实践是什么?

1 个答案:

答案 0 :(得分:2)

为程序指定输入文件的机制有很多种,其中很明显(没有特殊顺序):

  • 单独的命令行参数,可能具有内置的默认值(有关更多信息,请参见下文)
  • 作为参数传递的通用文件名词干,不同文件的扩展名不同;特定的文件名是由程序从一个词干开始计算的。
  • 包含要操作的文件名的标准或用户指定文件

这些的组合是可能的,还有其他选择。没有单一的最佳实践,在某种程度上,选择哪种方法在一定程度上取决于个人意见和个人喜好,并且可能要结合特定程序的特定实用性。

  

我可以将这些参数作为命令行参数传递给我的程序,但是它并不十分简洁,并且可能导致其提供顺序的错误。

我同意。

  

我曾想过创建1个包含7个必需文件名的输入文件,然后将其传递给我的程序。这是好习惯吗?

这是常见的方法之一。但是请注意,尽管它使命令行更加简洁,但它本身对排序问题并没有多大作用。

就个人而言,我不会对具有七个 required 参数的程序过于热衷,但我也不想强迫编写辅助文件只是为了将文件名传递给程序。就您确实使用命令行参数而言,我敦促您将其定义为 options ,在术语getopt()的意义上,因为否则混淆参数顺序将很重要用户的实际问题。同样,如果您提供控制文件作为传达工作文件名的方式,那么我建议您花更多的精力来使用不区分顺序的键/值格式。在一定范围内,您可以提供合理的默认值,这也将提高易用性。