我有一个可以成功读取 CSV 文件的程序。所述 CSV 文件是一个由 3 列分隔的列表。并且每一列在每一行之间都有一个逗号。例如
第 1 行 --- 艺术家、流派、歌曲 第 2 行 --- 迈克尔杰克逊、流行音乐、惊悚片
等等。我希望我的程序做的是读取第一行并获取艺术家、流派和歌曲,将它们作为选项打印给用户。例如
“选择一个选项” 1. 艺术家 2. 流派 3. 歌曲
然后当他们选择一个选项时,它会向他们显示 CSV 文件中的所有艺术家、歌曲或流派。
到目前为止,我的程序正在读取 CSV 并将每一行放入一个向量中。到目前为止,这是我的代码...
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
ifstream infile("music_list.csv");
string line = "";
vector<string> all_words;
cout << "Hello";
while (getline(infile, line))
{
stringstream strstr(line);
string word = "";
while (getline(strstr,word, ','))
{
all_words.push_back(word);
}
for (unsigned i = 0; i < all_words.size(); i++)
{
cout << all_words.at(i)<< "\n";
}
}
system("pause");
return 0;
}
我只是无法弄清楚如何让它读取第一行,将第一行中已经用逗号分隔的每个字符串分开,然后将其作为选项输出给用户。所以本质上我可以将艺术家、流派、歌曲更改为 CSV 文件中的开胃菜、菜肴、饮料等内容。