我目前正在运行一个命令行输入程序,用于从命令行参数中提取数据,将其粘贴在 ifstream 中,然后通过引用将其传递给我必须从中提取信息的函数文件。
首先,我理解“
ifstream coursesIn (argv[1]);
将我的输入文件名放入ifstream类型的courseIn变量中。从这里开始,我可以执行.open(argv [1])等操作;为了提取必要的数据。
接下来是我要将变量传递给一个名为processEnrollments(coursesIn)的函数
其原型如下:
processEnrollments (std::istream& courseFile);
一旦我把变量放在函数中并且在函数内部,我的教授提供了这段代码:
void processEnrollments (istream& courseFile, istream& enrollmentRequestsFile,
ostream& reportFile)
{
int numCourses;
courseFile >> numCourses;
// Create the arrays we need
//!! Insert your code here
}
首先,我不知道他试图用函数内的前两行做什么,其次,我不能再执行我的.open(argv [1])方法来从中提取数据文件名。
在功能之外,我相信我可以得到我需要的一切,但过了之后,我不知所措。
感谢您提供的任何帮助!
答案 0 :(得分:0)
您真的需要阅读有关流的更多信息。
声明
ifstream coursesIn (argv[1]);
创建一个变量coursesIn
,只要你是对的,但它也打开文件,其文件名由argv[1]
提供。如果你喜欢这样,你以后不需要open
。
对于函数,其中的第一行声明一个整数变量,第二行从文件courseFile
读取一个整数并将其存储在numCourses
变量中。
最后,请记住,所有输入流都具有相同的基数,因此如果您可以读取来自例如cin
您还可以从文件中读取输入。