본문 바로가기

쓰기

제컴이 ㅄ인지
설치할때 ㅄ이 된건진 잘 모르겠는데,

쓰기 갑갑해 미치겠습니다ㅣ -_-;

Visual Studio 2008 SP1입니다.

자주 발생하는 현상이

예를 들어

int j=0;
for(int i=0;i<28;i++)
{
    j+=i;
}

for(int i=0;i<28;i++)
{
   j+=i;
}

_wsprintf(L"%d",j);

요런 코드가 있다면, j값이 어떻게 나올까요?

나오긴 개뿔.
무한루프 -_-+

저것처럼 for문 여러번 돌릴때 똑같이 i 쓰는 부분에서 에러가 나길래 뭔가 살펴봤더니
위의 i가 안 사라지고 위에것이 올라가고 있더랍니다 -_-;
아니 그럴거면 컴파일할때 오류를 뱉으란 말이야 OTL


그리고 이유 모를 현상 -_-;
여기도 좀 간단히 해서...
뭔가 에러가 나길래 아래와 같은 느낌(당연히 같진 않습니다)으로  고쳐봤더니
CString Test()
{
    vector<CString> ar_Text;
    GetTextArray(&ar_Text);
    int nLength=0;
    int i=0; // 이건 위의 이상한 버그 때문에 -_-;
    for(i=0;i<ar_Text.size();i++)
    {
       nLength+=ar_Text[i].GetLength();
    }
    wchar_t * wszTemp = new wchar_t[nLength+2];
    wszTemp[0]=L'';
    for(i=0;i<ar_Text.size();i++)
    {
       lstrcat(wszTemp,ar_Text[i].GetString();
    }
    CString strTemp;
    strTemp.Format("%s",wszTemp);
    delete [] wszTemp;
    return strTemp;
}

....... 에러납니다 -_-+++++++
뭔가 그냥 ~~하면 되는데 왜 저렇게 했지?
하고 물으신다면

그 방법으로 하면 버그가 나길래 그렇게 했습니다.
라고 대답하렵니다.

저기서 왜 튕기나면
nLength에 제대로 된 값이 안 담깁니다. -_-;;;;;;;;;;;;;;;;;;
아니 분명 ar_Text[3]=L"o_o";
이렇게 해줬는데
왜 ar_Text[3].GetLength()  했더니 0이 나오고
ar_Text[3].GetString() 하면 제대로 L"o_o" 이 나오냐고요 OTL
저기에서는 당연히 delete할때 에러났습니다 -_-;

그냥 Visual Studio 2005 쓸랍니다 ㅅㅂ
분류 :
Talk
조회 수 :
12867
등록일 :
2009.04.02
22:27:59
엮인글 :
https://arallab.hided.net/4334/183/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/4334

아그나스

2009.04.03
01:09:19
그 버그난다는 방법이 혹시..
CString strTemp;
strTemp = "";
for( int i = 0; i < ar_Text[i].size();i++)
{
   strTemp += ar_Text[i];
}
return strTemp;
인가요?

Hide_D

2009.04.03
01:59:16

저거 원래 그런건가요?

기본적으로는
vector하고 wstring, string 조합으로 쓰다가

다이얼로그에는
vector에 CString을 넣어서 했거든요
여태까지 저런 방법(즉 그냥 FixLine)으로 해서 문제가 없었는데 여기서 그러니 좀 난감하네요;

Hide_D

2009.04.03
02:35:56
아 좀 찾아보니 MFC하고 STL하고 원래 좀 안맞는 모양이군요 -_-;
다이얼로그는 MFC쪽 라이브러리만 써서 만들어봐야겠네요 OTL

근데 for(int ) 이건 좀 심했음 -_-;;

Hide_D

2009.04.03
03:44:11
2005에서도 아래의 오류는 동일하게 발생해서
아예 CString대신 wstring으로 대체해서 써버렸습니다.
vector가 CArray보다 아무래도 좋아서 -_-;

그냥 앞으로도 CString 안쓸랍니다 -_-;

아그나스

2009.04.03
21:16:53
음.. 그렇군요... 그런 버그가 날수도있군요.. 생각도 못해봤어요.. 그런식으로 에러 날꺼라고는..
그냥 혹시나하고 여쭤본거였어요.. 크..
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155439
149 Talk 죄송해요 ㅠ_ㅠ SVN 위치 trunk -> trunk2 로 옮겨주세요. Hide_D 2008-10-01 10477
148 Talk SVN 말이죠 ㅠ_ㅠ [3] file Hide_D 2008-09-29 11128
147 Talk [질문] J2kEngine.dll 에관해 이것저것 [3] 호기심맨 2008-09-29 16881
146 Talk ...? [3] file 북극 2008-09-28 12001
145 Archive [플러그인] OutRuby 테스트 버전 20080927 [2] file Hide_D 2008-09-27 10236
144 Talk 으아아앍 SVN [1] Hide_D 2008-09-27 10267
143 Archive [플러그인] DivideLine 테스트 버전 20080927 [1] file Hide_D 2008-09-27 10926
142 Talk 픽스 라인 연기로 인한 임시 대책 Hide_D 2008-09-26 10821
141 Archive [플러그인] DenyWord 테스트 버전 20080924 [1] file Hide_D 2008-09-24 10891
140 Talk 일단, 옵션창 이렇게 생기면 되나요? file Hide_D 2008-09-22 11569
139 Talk 조만간 멀티플러그인은 기본 기능으로 흡수시킬까 합니다. 아랄 2008-09-21 11346
138 Talk 히데님께 문의 해요! [2] file 라파에 2008-09-21 11922
137 Archive [플러그인, 소스] DenyWord 테스트 버전 20080921 file Hide_D 2008-09-21 13927
136 Archive [플러그인, 소스] DenyWord 테스트 버전 20080917 file Hide_D 2008-09-17 9665
135 Talk 하루카 원문 [1] 나는누구인감? 2008-09-16 10337
134 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 2008-09-15 17632
133 Archive [플러그인, 소스] OriginalText 테스트버전 [4] file Hide_D 2008-09-12 13990
132 Archive [플러그인, 소스] FixLine 테스트 버전 Archive2(09.14 12:49갱신) [1] file Hide_D 2008-09-12 16618
131 Talk DenyWord 변경한 내용입니다 Hide_D 2008-09-11 9493
130 Archive [플러그인, 소스] ATCode 테스트 버전 20080911 [3] file whoami 2008-09-11 9210