stl list에서 문자열 검색 관련 질문입니다.
글쓴이: balgarac1 / 작성시간: 월, 2015/11/23 - 10:57오전
이런 구조체를 정의했습니다.
typedef struct _DBUserInfo
{
char dbUserName[25];
char dbUserPassword[25];
char dbName[25];
}DBUserInfo;// 유저 정보 생성
void makeDBuserInfo()
{
DBUserInfo dbInfo[3];
strcpy(dbInfo[0].dbUserName,"scott");
strcpy(dbInfo[0].dbUserPassword, "tiger");
strcpy(dbInfo[0].dbName, "sqlplus");
strcpy(dbInfo[1].dbUserName,"scott2");
strcpy(dbInfo[1].dbUserPassword,"tiger2");
strcpy(dbInfo[1].dbName, "sqlplus");
strcpy(dbInfo[2].dbUserName, "scott3");
strcpy(dbInfo[2].dbUserPassword, "tiger3");
strcpy(dbInfo[2].dbName, "sqlplus");
DBUserList.push_back(dbInfo[0]);
DBUserList.push_back(dbInfo[1]);
DBUserList.push_back(dbInfo[2]);
}
유저에 대한 정보를 리스트에 집어 넣고 list<DBUserInfo>::iterator iter;
int retValue = 0;
for(iter = DBUserList.begin(); iter != DBUserList.end(); ++iter)
{
retValue = 0;
retValue += strcmp(iter->dbUserName, (char *)loginReqMsg.db_user);
retValue += strcmp(iter->dbUserPassword, (char *)loginReqMsg.password);
retValue += strcmp(iter->dbName, (char *)loginReqMsg.db_name);
cout << "retValue = " << retValue << endl;
}반복자를 만들어서 아이디와 패스워드, 디비네임을 비교하는 반복문을 도는데 제가 미리 입력해 놓은 값을(scott, tiger, sqlplus) 입력해서 보내도
retValue 값이 0이 아니라 347 이라는 틀린 값이 나오는데 제가 stl 리스트를 잘 못 쓰고 있는건가요?? 어디가 틀린건지 가르쳐주시면 감사하겠습니다.
Forums:


strcmp 를 확인해보세요.
strcmp
http://forum.falinux.com/zbxe/index.php?document_srl=413130&mid=C_LIB
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
감사드립니다.. 항상 답변 해주셔서
감사합니다. 주신 파일로 실행해보겠습니다.
댓글 달기