입력 된 문자를 처리하기위한 fgetc() - char by char. 이 함수는 입력 된 char의 정수 값을 반환합니다.입력에서 문자열로 캐스팅 문자
나는 이것들을 확인해야합니다
이- 각 도시가 30자를 초과 할 수 없습니다 이 존재
- "-"각 행 (대시) 문자 (두 도시의 전체 라인을 분할)을
31- 정수 배열과 문자 계산을위한 정수를 정의했습니다. 사용자가 "-"를 입력하면 문자열을 다른 배열 (실제로는 맵)에 저장해야합니다.
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;
}
}
그래서 입력의 예이 될 것이다 :
Syracuse - Utica
Binghamton - Syracuse
Binghamton - Utica
내가 어떻게 그것을 수정하고 map<int, string>
에 INT 배열을 저장 할 수 있어야한다?
당신은 문자 포인터의 배열을 선언했다. 나는 그것이 당신이 원하는 것이라고 생각하지 않는다. – ThomasMcLeod