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
감사드립니다.. 항상 답변 해주셔서
감사합니다. 주신 파일로 실행해보겠습니다.
댓글 달기