void Lexicon::buildMapFromFile(string filename) //map
{
ifstream file;
file.open(filename.c_str());
string wow, mem, key;
unsigned int x = 0;
while(true) {
getline(file, wow);
if (file.fail()) break; //check for error
while (x < wow.length()) {
if (wow[x] == ',') {
key = mem;
mem.clear();
x++; //step over ','
} else
mem += wow[x++];
}
list_map0.put(key, mem); //char to string
list_map1.put(mem, key); //string to char
mem.clear(); //reset memory
x = 0;//reset index
}
file.close();
}
该函数读取一个2列的csv文件,并创建一个column1映射,并以column1作为键。我使用g ++进行编译,并且该文件位于大学文件共享中,当我使用./foo运行程序时,csv文件[与foo在同一目录文件夹中]不会被读取......为什么?C++ linux ifstream读取csv文件
你得到什么消息,当您尝试运行? – hmatar
#Hassan TM该程序运行正常,但从cout检查我可以看到该文件没有被读取 –