为什么strcmp()函数在以下代码摘录中不起作用?: (程序从另一个文件中读取数据)
#include <iostream>
#include <fstream>
#include <cstring>
#include <iomanip>
using namespace std;
struct schokolade
{
char name[20];
int gewicht;
int zutat_id[5];
int menge_in_prozent[5];
};
struct zutat
{
char name[20];
float preis_pro_100gramm;
};
int main()
{
char data[20];
schokolade schokosorten[3];
zutat zutaten[7];
ifstream fin;
fin.open("schoki.txt");
//Check for error:
if(fin.fail()){
cout << "Datei schoki.txt konnte nicht geöffnet werden." << endl;
return 0;
}
int anzahl;
char name_zutat[20];
int anteil;
while(fin.getline(data,20)){
if(strcmp(data, "vollmilch_mandel")==0){ //DOES NOT WORK!
strcpy(schokosorten[0].name, data);
...
此后代码仍在继续,但这个问题并不重要。