Détecter newline octet de filestream

Je suis en train de recueillir des informations à partir d'un fichier texte qui contient les noms des organisations (sans les espaces) et flottant entiers. Je veux stocker ces informations dans un tableau de structure.

Le problème, je vais avoir jusqu'à présent est la collecte de l'information. Voici un exemple de fichier texte:

ABC 12.3 4.5 7.5 2.9 4.1

TLS 3.9 1 8.6 12.8 4.9

Je peux avoir jusqu'à 128 numéros différents pour chaque organisation, et jusqu'à 200 organisations dans le fichier texte.

C'est ce que ma structure ressemble à ce jour:

struct callCentre
{
char name[256];
float data[20];
};

Ma principale:

int main()
{
callCentre aCentre[10];
getdata(aCentre);
calcdata(aCentre);
printdata(aCentre);
return 0;
}

Et la fonction getdata:

void getdata(callCentre aCentre[])
{
ifstream ins;
char dataset[20];

cout << "Enter the name of the data file: ";
cin >> dataset;

ins.open(dataset);

if(ins.good())
{
    while(ins.good())
    {
        ins >> aCentre[c].name;
        for(int i = 0; i < MAX; i++)
        {
            ins >> aCentre[c].data[i];
            if(ins == '\n')
                break;
        }
        c++;
    }
}
else
{
    cout << "Data files couldnt be found." << endl;
}
ins.close();
}

Ce que je suis en train de réaliser dans ma fonction getdata est-ce: stocker le nom de l'organisation, d'abord dans la structure, puis de lire chaque flotteur dans le tableau de données jusqu'à ce que le programme détecte un retour à la ligne octet. Cependant, jusqu'à présent, mon chèque pour le retour à la ligne de l'octet n'est pas de travail.

Supposons que les variables c et MAX sont déjà définis.

Comment dois-je m'y prendre correctement?

InformationsquelleAutor | 2009-03-13