fgetc() pour le traitement des caractères saisis - char par char. La fonction renvoie la valeur entière du caractère entré.Conversion des caractères d'entrée en chaîne
Je dois vérifier ces:
- Chaque ville ne doit pas dépasser 30 caractères
- Il existe un caractère « - » (tableau de bord) sur chaque ligne (division de la ligne entière à deux villes)
J'ai défini 31-int-array et un entier pour compter les caractères. Lorsque l'utilisateur saisit "-", j'ai besoin de sauvegarder les caractères sous la forme d'une chaîne dans un autre tableau (carte en fait).
printf("Enter route (city - city):\n");
char town[31];
int character, charsOnRow = 0, i = 0;
map<int, string> route;
while (!feof(stdin)) {
character = fgetc(stdin);
if (character != '-' && character != '\n') {
if (charsOnRow < 30) {
town[charsOnRow] = character;
charsOnRow++;
} else {
printf("Invalid input.\n");
}
} else if (route.size() == 0 && character == '\n') {
printf("Invalid input.\n");
} else {
town[charsOnRow] = '\0';
route[i] = town;
charsOnRow = 0;
}
}
Ainsi, exemple d'entrée serait:
Syracuse - Utica
Binghamton - Syracuse
Binghamton - Utica
Comment dois-je réparer et être en mesure d'enregistrer int-tableau à map<int, string>
?
vous avez déclaré un tableau de pointeurs char. Je ne pense pas que ce soit ce que tu veux – ThomasMcLeod