【发布时间】:2016-02-05 19:56:44
【问题描述】:
我正在做一个项目,我需要从扩展名为“.input”的文件中获取输入。运行时,用户提供不带文件扩展名的文件名作为命令行参数。然后,我采用该参数 argv[1] 并打开指定的文件,但如果用户不输入整个文件名,我就无法让它工作
例如:
用户输入> 运行 file.input //“run”是可执行文件,“file.input”是文件名
用户应该进入>运行文件
如何在使用此代码时获得隐含的文件扩展名:
fopen(argv[1],"r");
我尝试使用字符串,将其设置为 argv[1],然后将“.input”附加到它,但 fopen 不会接受该字符串。
【问题讨论】:
-
你能具体告诉我们你尝试了什么吗?那应该行得通。另外,您使用
fopen和FILE*而不是ifstream的任何原因? -
你需要的是基本的字符串操作,任何更好的 C++ 教程都应该解释。但是,它无法解释使用
fopen()的文件操作,因此您可能使用 C 或者您正在学习的源代码不好。 -
我的老师建议使用 fopen(),但他确实倾向于更多地谈论 c 而不是 c++,所以也许这就是原因。
-
你需要一个新的文件名变量。