首页 > 解决方案 > 具有大量输入文件的 C 程序的最佳实践

问题描述

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

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

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

标签: cfile-io

解决方案


将输入文件指定给程序的常用机制有很多种,其中比较突出(没有特别的顺序):

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

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

我可以将这些作为命令行参数传递给我的程序,但它并不完全简洁,并且可能导致它们提供的顺序出错。

我同意。

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

这是常用的方法之一。但是请注意,尽管它使命令行更加简洁,但它本身并不能解决排序问题。

就个人而言,我不会太热衷于具有七个必需参数的程序,但我也不喜欢被迫编写辅助文件只是为了将文件名传达给程序。就您确实使用命令行参数而言,我强烈建议您将它们定义为optionsgetopt()就术语而言,因为混淆参数顺序否则对您的用户来说将是一个重要的实际问题。同样,如果您提供一个控制文件作为传达工作文件名的一种方式,那么我建议您更加努力地使用一种不区分顺序的键/值格式。在您可以提供合理的默认值的范围内,这也将提高易用性。


推荐阅读