Cela semble me donner un peu de problème. Cette méthode est supposée générer un nombre aléatoire et l'affecter à un caractère. getline récupère la chaîne entière du fichier texte et l'assigne aux aliments. y a pour but de maintenir l'endroit où il trouve c dans la chaîne des aliments. Il va ensuite utiliser ce int pour effacer de la chaîne et imprimer ce qui reste.Méthodes de manipulation de chaîne donnant l'erreur RunTime
Je reçois toujours un "programme a demandé de fermer en raison d'une erreur d'exécution d'une manière inhabituelle" et il se bloque. Merci d'avance.
void feedRandomFood()
{
int y = 0;
int x = rand() % food.size() + 1; //assigns x a random number between 1 and food.size MAX
char c = '0' + x; //converts int to char for delimiter char.
ifstream inFile;
inFile.open("OatmealFood.txt", ios::in);
string foods = "";
getline(inFile, foods);
inFile.close();
y = foods.find(c);
foods.erase(y); //erase characters up to the char found
cout << foods;
}
AH! J'ai oublié d'utiliser les boucles while, je viens d'apprendre comment utiliser les manipulations de chaînes, donc je faisais .erase(); –