C++ 如何在c+中读取任何csv文件,而不仅仅是特定的csv文件+;程序

C++ 如何在c+中读取任何csv文件,而不仅仅是特定的csv文件+;程序,c++,csv,C++,Csv,我正在尝试做我的家庭作业(对c++来说是相当新的),它要求我创建一个程序来读取yahoo finance中的任何.csv文件。我知道如何读取特定文件,但我不知道如何概括这一点 我曾尝试在谷歌上搜索,但没有任何东西真正回答我的问题 这就是我读取特定文件时所做的 ifstream file; file.open("GLD.csv"); if (file.is_open()) { while (getline(file, line)) { cout <&l

我正在尝试做我的家庭作业(对c++来说是相当新的),它要求我创建一个程序来读取yahoo finance中的任何.csv文件。我知道如何读取特定文件,但我不知道如何概括这一点

我曾尝试在谷歌上搜索,但没有任何东西真正回答我的问题

这就是我读取特定文件时所做的

ifstream file;
file.open("GLD.csv");
if (file.is_open()) {
        while (getline(file, line)) {
            cout << line << endl;
ifstream文件;
文件打开(“GLD.csv”);
if(file.is_open()){
while(getline(文件,行)){

cout我可以想出三种方法:

  • 使用命令行参数。您可以通过将main定义为
    int main(int argc,char*argv[]){}
    来获取命令行参数,其中argc是参数的计数,argv是值。因此,当您运行程序时,只需执行
    program.exe filename.csv
  • 扫描输入文件名。
    cin>>filename;
  • 获取当前目录并获取所有csv文件。下面介绍如何获取目录中的文件

  • 您是否查看了现有的问题,包括?请同时阅读本文。您手头上有这些.csv文件吗?或者您必须从某个地方刮取它们吗?请参阅@alvinalvord答案中的#1。然后
    int i=1;while(argv[i]){file.open(argv[i])…i++
    有助于提醒第一个参数
    argv[0]
    始终是正在执行的程序名,因此用户提供的第一个参数将从索引
    1
    开始(例如
    argv[1]
    )。