|
bool SelectLocation::ReadText(const String& strFilePath, String& strFileContents)
{
strFileContents = L"";
File file;
result r = file.Construct(strFilePath, L"r");
if(IsFailed(r))
{
AppLog("File::Construct() is failed by %s", GetErrorMessage(r));
return false;
}
FileAttributes fileAttrs;
file.GetAttributes(strFilePath, fileAttrs);
long long size = fileAttrs.GetFileSize();
ByteBuffer readBuffer;
readBuffer.Construct((int)size + 1);
r = file.Read(readBuffer);
if(IsFailed(r))
{
AppLog("File::Construct() is failed by %s", GetErrorMessage(r));
return false;
}
readBuffer.Flip();
strFileContents = ((char*)readBuffer.GetPointer());
return true;
}
void SelectLocation::LoadText(void)
{
DTO_st* dtost1 ;
String filename(L"SiDo.txt");
String strFileContents, itemText;
wchar_t *pwc = null, *ptr1= null;
int endPos = 0;
int c=0,r=0;
if(!ReadText(filename, strFileContents))
{
return;
}
while(strFileContents.GetLength()>0)
{
DTO_st *dtost= new DTO_st;
strFileContents.IndexOf(L"\n",0,endPos);
if(endPos < 1)
{
itemText = strFileContents;
itemText.Trim();
strFileContents = L"";
}
else
{
strFileContents.SubString(0, endPos, itemText);
strFileContents.Remove(0, endPos+1);
}
if (itemText.GetLength() < 1) {
continue;
}
wchar_t *DTO = (wchar_t *) itemText.GetPointer();
AppLog(">>>%ls", DTO);
pwc = wcstok(DTO, L" / ", &ptr1);
while (pwc != NULL)
{
if(c==0)
dtost->code =pwc;
else if(c==1)
dtost->name = pwc;
else if(c==2)
dtost->x = pwc;
else if(c==3)
dtost->y= pwc;
else if(c==4)
dtost->p_code =pwc;
else if(c==5)
dtost->p_name = pwc;
c++;
pwc = wcstok(NULL, L" / ", &ptr1);
}
__arraydto.Add(*(Object*)dtost);
c = 0;
dtost1= (DTO_st*)(__arraydto.GetAt(r));
AppLog("asdfsadfsafsa %ls,%ls,%ls,%ls,%ls,%ls",dtost1->code,dtost1->name,dtost1->x,dtost1->y,dtost1->p_code,dtost1->p_name);
r++;
}
for(int i = 0; i<249;i++){
dtost1= (DTO_st*)(__arraydto.GetAt(i));
AppLog("%d번째 %ls,%ls,%ls,%ls,%ls,%ls",i,dtost1->code,dtost1->name,dtost1->x,dtost1->y,dtost1->p_code,dtost1->p_name);
}
}
이렇게 코딩을 하였습니다
읽는 부분은 책보고 한거고 /기반으로 짤라서 arraylist에 저장한건 제가 추가한건데 어디서 잘못된거지 잘모르겠습니다 ㅜㅜㅜ
Tizen 어플인데 c++기반이라 질문을 이곳에 올립니다
while 문안에서 로그는 모두 저장이잘되고 읽어오기도 잘하는데
while문 밖에서 찍은 log에서는 맨마지막과 전꺼는 잘들어가는데 그이전값은 읽어오질 못합니다 3일째 고민하다가 올리는데 알려주세요 ㅜㅜㅜㅜ
해당 로그 값입니다
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46790 / 화순군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46790,화순군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46800 / 장흥군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46800,장흥군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46810 / 강진군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46810,강진군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46820 / 해남군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46820,해남군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46830 / 영암군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46830,영암군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46840 / 무안군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46840,무안군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46860 / 함평군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46860,함평군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46870 / 영광군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46870,영광군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46880 / 장성군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46880,장성군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46890 / 완도군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46890,완도군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46900 / 진도군 / null / null / 46 / 전라남도
-->while문안에서는 >>>>는 읽어온값이고 asdfasdf는 arraylist에 저장된값을 가져온 값인데 잘찍힙니다
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46790 / 화순군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46790,화순군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46800 / 장흥군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46800,장흥군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46810 / 강진군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46810,강진군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46820 / 해남군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46820,해남군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46830 / 영암군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46830,영암군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46840 / 무안군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46840,무안군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46860 / 함평군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46860,함평군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46870 / 영광군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46870,영광군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46880 / 장성군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46880,장성군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46890 / 완도군 / null / null / 46 / 전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(602) > asdfsadfsafsa 46890,완도군,null,null,46,전라남도
07-18 10:42:10.050 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(572) > >>>46900 / 진도군 / null / null / 46 / 전라남도
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 201번째 ������,������/!������ !������u!������ !������,/!������ !������u!������ !������,� !������u!������ !������,��u!������ !������,����� !������
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 202번째 ������/!������n!������/!������/!������/!������/!������n!������u!������ !������ !������,������n!������/!������/!������/!������/!������n!������u!������ !������ !������,n!������/!������/!������/!������/!���
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 203번째 ������u!������ !������ !������,������ !������ !������,������ !������,!������,,���
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 204번째 ������/!������/!������/!������n!������u!������ !������,������/!������/!������n!������u!������ !������,������/!������n!������u!������ !������,!������n!������u!������ !������,n!������u!������ !������,���
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 205번째 ������/!������n!������u!������ !������ !������,������n!������u!������ !������ !������,n!������u!������ !������ !������,�u!������ !������ !������,�� !������ !������,����� !������
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 206번째 ������/!������/!������/!������n!������u!������ !������,������/!������/!������n!������u!������ !������,/!������/!������n!������u!������ !������,�/!������n!������u!������ !������,��n!������u!������ !������
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 207번째 ������u!������ !������ !������,������ !������ !������, !������ !������,� !������,��,�����
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 208번째 ������/!������/!������/!������n!������u!������ !������,������/!������/!������n!������u!������ !������,/!������/!������n!������u!������ !������,�/!������n!������u!������ !������,��n!������u!������ !������
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 209번째 ������u!������ !������ !������,������ !������ !������, !������ !������,� !������,��,�����
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 210번째 ������/!������/!������/!������n!������u!������ !������,������/!������/!������n!������u!������ !������,/!������/!������n!������u!������ !������,�/!������n!������u!������ !������,��n!������u!������ !������
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 211번째 ������u!������ !������ !������,������ !������ !������, !������ !������,� !������,��,�����
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 212번째 / 제주시,null, null, 50,주특별자치도
,도
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 213번째 ������/!������/!������/!������n!������u!������ !������ !������,������/!������/!������n!������u!������ !������ !������,/!������/!������n!������u!������ !������ !������,�/!������n!������u!������ !������ !��
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 214번째 / 제주시,null, null, 50,주특별자치도
,도
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 215번째 ������/!������/!������/!������n!������u!������ !������ !������,������/!������/!������n!������u!������ !������ !������,/!������/!������n!������u!������ !������ !������,�/!������n!������u!������ !������ !��
07-18 10:42:10.070 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 216번째 / 제주시,null, null, 50,주특별자치도
,도
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 217번째 ������/!������/!������/!������n!������u!������ !������ !������,������/!������/!������n!������u!������ !������ !������,/!������/!������n!������u!������ !������ !������,�/!������n!������u!������ !������ !��
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 218번째 / 제주시,null, null, 50,주특별자치도
,도
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 219번째 �����������������������������������������������������������������������������������������������������������������������������������������������������������������
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 220번째 ������/!������/!������/!������n!������u!������ !������ !������,������/!������/!������n!������u!������ !������ !������,/!������/!������n!������u!������ !������ !������,�/!������n!������u!������ !������ !��
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 221번째 ll / null / 50 / 제주특별자치도
,l / 50 / 제주특별자치도
, / 제주특별자치도
,자치도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 222번째 ������/!������/!������/!������n!������u!������ !������ !������,������/!������/!������n!������u!������ !������ !������,/!������/!������n!������u!������ !������ !������,�/!������n!������u!������ !������ !��
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 223번째 ll / null / 50 / 제주특별자치도
,l / 50 / 제주특별자치도
, / 제주특별자치도
,자치도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 224번째 경상남도
, 경상남도
,, ƀ ������u!������,��u!������,�����
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 225번째 ,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 226번째
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 227번째
,거창군,null,null,48,경상남도
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 228번째 ������u!������,������,,�,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 229번째 l / 50 / 제주특별자치도
, 제주특별자치도
,치도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 230번째 경상남도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 231번째
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 232번째 경상남도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 233번째 l / 50 / 제주특별자치도
, 제주특별자치도
,치도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 234번째 경상남도
,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 235번째
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 236번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 237번째 제주특별자치도
,
,/ 거창군, null, null,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 238번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 239번째 제주특별자치도
,
,/ 거창군, null, null,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 240번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 241번째 제주특별자치도
,
,/ 거창군, null, null,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 242번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 243번째 제주특별자치도
,
,/ 거창군, null, null,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 244번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 245번째
,거창군,null,null,48,경상남도
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 246번째 ,합천군,nu,
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 247번째
07-18 10:42:10.130 : INFO / WeatherWoW ( 3035 : 3035 ) : virtual void SelectLocation::LoadText()(608) > 248번째 50130,서귀포시,null,null,50,제주특별자치도
while 밖에서는 위처럼 마지막만 제대로 찍히고 나머지는 쓰레기 값이 들어값니다
기상청 어플 만들기 위한 지역 파싱 중입니다 ㅜㅜ
|