[ Programing ]/STL & Booster
stringstream.... INI 파일 읽어 구분 문자 별로 값 넣기.
Mister_Q
2013. 6. 26. 22:48
/*
test.ini파일
[TEST]
index=5
reward=1;2;3;
이라면.
*/
#include <winbase.h>
#include <sstream>
#include <vector>
char szIndex[10] = {0, };
char szReward[30] = {0, };
int iIndex= 0;
std::vector<int> vecReward;
// ini 읽어 오기
iIndex = GetPrivateProfileInt( "TEST", "index", -1, ".\\test.ini" );
GetPrivateProfileString( "TEST", "reward", "-1", szReward, sizeof(szIndex), ".\\test.ini" );
std::stringstream _ss;
_ss << szReward; // 대입
int iCount = 0;
int iMax = sizeof(szReward);
char szBuffer[128];
while( _ss.getline( szBuffer, 128, ';' ) || iMax > iCount )
{
// 구분자 ';' 로 나누어서 각각의 값을 vecReward에 담기
vecReward.pushback( atoi(szBuffer) );
iCount++;
}
// 초기화
_ss << "";
_ss.clear();