假设我有一个程序通过命令行传递 CSV 文件,然后使用循环将相关内容解析为结构。
用法类似于:Analyze 100 200 300 等。其中 Analyze 是可执行文件的名称,100 200 300 是 CSV 文件。
如果用户输入带有文件名的扩展名,我可以让我的程序正常工作:
分析 100.csv 200.csv 300.csv 等,但我需要我的程序在没有文件扩展名的情况下工作,例如:分析 100 200 300 等
示例代码:
int main(int argc, char* argv[])
{
Testing T; //struct
if (argc > 1)
{
cout << "Loading . . . \n\n" << endl;
}
else
{
cout << "Usage: Analyze filename filename filename etc\n";
return -1;
}
cout << "argc = " << argc << endl;
for (int i = 1; i < argc; i++)
{
ifstream infile(argv[i]); //open the file
if (infile.is_open() && infile.good())
{
cout << "File is now open!\nContains:\n";
string line = "";
while ( !infile.eof() )
{
getline (infile, T.str);
cout << "T.str: " << T.str << "\n";
getline (infile, T.str2);
cout << "T.str2: " << T.str2 << "\n";
YADDA YADDA YADDA ...
谢谢