所以我正在为一个简单的日历应用程序制作一个程序,该应用程序从文件 input.csv 中读取输入(它是一个文本文件,有两列,每个命令使用逗号和换行符分隔)。
我要做的第一件事是计算输入文件中的行数,它作为命令行中的第三个参数传递,所以我可以创建一个数组来分别保存每一行,但函数 countLines 总是返回 0!
项目代码:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
//Prototypes
int countLines (ifstream& countfiles);
int countLines(ifstream& countfile)
//counts number of lines in file passed to function
{
string line;
int numberOfLines;
numberOfLines = 0;
//reads through each line until end of file
while(getline(countfile, line))
{
numberOfLines++;
}
return numberOfLines;
}
int main (int argc, char* argv[])
{
if(argc != 3) cout << "Usage: calendar.out datafile inputfile";
//Create input streams to both files
ifstream apptsfp;
ifstream inputfp;
//Open streams to both files
apptsfp.open(argv[2]);
inputfp.open(argv[3]);
int numberOfInputs=0;
numberOfInputs = countLines(inputfp)-1;
cout << "number of input commands: " << numberOfInputs << endl;
return 0;
}