본문 바로가기

쓰기

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

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

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/2b5/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
공지 Talk [필독] 테스트필터 사용시 주의사항
라파에
155435   2008-08-03 2008-12-16 00:03