main.cpp でコードを取得しました
cout<<endl<<"Please enter filename: ";
cin.ignore();
getline(cin,fileName);
fin.open(fileName.c_str());
if(fin.is_open())
{
while(fin.good())
{
fin.getline(line,20,',');
if(!strcmp(line,"Map2D"))
{
cout << "Map 2D" << endl;
}
else if(!strcmp(line,"Map3D"))
{
cout << "Map 3D" << endl;
}
else if(!strcmp(line,"Dot2D"))
{
cout << "Dot 2D" << endl;
}
else if(!strcmp(line,"Dot3D"))
{
cout << "Dot 3D" << endl;
}
}
}
これは私のテキストファイルです
Map2D, [3, 8]
Dot3D, [7, 12, 3], [-9, 13, 68]
Map3D, [1, 3, 8]
Dot2D, [5, 7], [3, 8]
Map2D, [6, 2]
しかし、問題は、コンパイルして実行しようとすると、印刷された map2D が保持され、Map3d が cout にさえならないことです。
strcmp の私のロジックに問題がありますか
アップデート:
if(strstr(line,"Map2D") とその作業に変更しました。
助けてくれてありがとう。