
325
return USER
_
ALREADY
_
EXISTS;
}
for(int i
=
0; i<MAX
_
USERS; i++)
{
if(strcmp(userList[i].name, "")
==
0)
{
strcpy(userList[i].name, username);
strcpy(userList[i].pwd, pwd);
return USER
_
SUCCESSFULLY
_
ADDED;
}
}
return USER
_
ADMINISTRATION
_
FULL;
}
지금까지 구현한 코드 조각들을 사용하여 사용자 관리 목록을 사용자로 채우
고 제공된 비밀번호가 해당 사용자의 것과 일치하는지 확인할 수 있다.
다음으로 반복자를 구현하여 모든 사용자 이름을 읽을 수 있는 몇 가지 기능을
제공한다. 호출자가 인덱스로
userList
배열에 접근할 수 있도록 하는 인터페
이스를 제공하고 싶을 수도 있지만, 기본 자료 구조가 변경되거나(예: 연결 리
스트) 특정 호출자가 배열을 수정하는 동안 또 다른 호출자가 배열에 접근하려
는 경우 문제가 발생할 수 있다.
이 문제를 해결하는 반복자 인터페이스를 호출자에게 제공하기 위해서는
핸들을 사용하여 호출자에 기본 자료 구조를 숨기는 커서 반복자를 구현하면
된다.
...