我想读取格式如下的文件中的数据:
Point1, [3, 4]
我正在使用分隔符 '[' ']' 和 ',' 并将它们替换为 ' ' (空格)。我的代码现在很好并且可以工作。但问题是,如果Point1, [3, 4]
出现一次,我希望它是唯一的,如果文本文件中存在相同的数据,我希望它不会再次出现。
这是我所拥有的:
string line, name;
char filename[50];
int x,y;
cout << "Please enter filename : ";
cin >> filename;
ifstream myfile(filename);
if (myfile.is_open()) {
while ( myfile.good() ) {
getline(myfile, line);
for (unsigned int i = 0; i < line.size(); ++i) {
if (line[i] == '[' || line[i] == ']' || line[i] == ',') {
line[i] = ' ';
}
istringstream in(line);
in >> name >> x >> y;
}
cout <<name <<endl;
if (name=="Point") {
p.push_back(Point(x,y));
}
count++;
}
myfile.close();
cout << count;
}
else cout<< "Unable to open file";
我该怎么做呢?我试着在之后添加这个if(name=="Point")
for (int j=0; j<p.size(); j++) {
if(p.getX != x && p.getY) != y) {
p.push_back(Point(x,y))
}
}
...但这不能正常工作,因为数据没有存储到向量中。
任何人都可以帮忙吗?