본문 바로가기

쓰기

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

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

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/ed4/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 [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
249 Archive [플러그인,소스] FixLine 테스트버전 081214_2 file Hide_D 12524   2008-12-15 2008-12-15 00:04
 
248 Archive [플러그인,소스] FixLine 테스트버전 081215 [5] file Hide_D 15213   2008-12-15 2008-12-16 01:18
 
247 Talk Small Talk + StrongRoom = New Small Talk! Hide_D 12177   2008-12-16 2008-12-16 00:06
다시 통합 완료했습니다. 카테고리는 3개로 돌아갑니다. Talk : 내용 무 Archive : 플러그인 관련 파일들이 올라갑니다. OtherFiles : 플러그인 관련은 아니지만 파일인 경우! 카테고리 작업도 완료했습니다.  
246 OtherFiles 히데님, 픽스라인 관련 메모장 파일입니다. [1] file astral 15603   2008-12-16 2008-12-16 01:19
 
245 Archive [소스] ATCode 테스트버전 20081203 file whoami 11548   2008-12-16 2009-01-06 00:51
 
244 OtherFiles [프로그램] 필터 테스트 프로그램 [13] file Hide_D 27998   2008-12-16 2013-06-22 22:20
 
243 Archive [플러그인,소스] FixLine 테스트버전 081216 file Hide_D 12340   2008-12-16 2008-12-16 13:20
 
242 OtherFiles fixline 테스트 [1] file 처음처럼만 15297   2008-12-16 2008-12-16 15:52
 
241 OtherFiles fixline 테스트 2차 file 처음처럼만 13341   2008-12-16 2008-12-16 15:52
 
240 Talk FixLine 테스트버전 081215 [1] file 그레이 20429   2008-12-16 2008-12-16 16:37
 
239 OtherFiles fixline 테스트 3차 [2] file 처음처럼만 16074   2008-12-16 2008-12-30 08:53
 
238 Archive [플러그인,소스] FixLine 테스트버전 081217 file Hide_D 12415   2008-12-17 2008-12-17 23:38
 
237 Talk [오류보고]ATcode 버퍼크기 무시 버그 [1] file HaruKaze 12813   2008-12-18 2009-01-06 00:56
 
236 Archive [플러그인,소스] FixLine 테스트버전 081219 file Hide_D 11449   2008-12-19 2008-12-19 13:03
 
235 Talk ezTransXP 플러그인 버그 =ㅅ=?? [2] Hide_D 12427   2008-12-20 2009-01-06 00:47
단순씨 사전 45608개 짜리 버전으로 테스트했을때 「すごい! えらい!! カッコイイ!!! さすが僕らのトライオン!」 이걸 번역하면 「대단해<히)! 대단하다! 멋있어! 과연 우리들의 트라이 온!」 요렇게 나오는데, 아랄트랜스에서 괄호제거 옵션을 ...  
234 Archive [플러그인,소스] FixLine 테스트버전 081220_2 [2] file Hide_D 13376   2008-12-20 2008-12-21 08:29
 
233 Archive [플러그인,소스] FixLine 테스트버전 081221 [5] file Hide_D 15475   2008-12-21 2008-12-22 02:30
 
232 Archive [플러그인,소스] FixLine RC 081222 file Hide_D 12576   2008-12-22 2008-12-22 11:55
 
231 Talk 아아아아앍 cmd /u !!!!!!!!!!!!!!!!!! [1] Hide_D 12323   2008-12-22 2009-01-06 00:47
cmd /? 해서 살펴보고 있는데 /u 플래그가 있었군요 /U 파이프 또는 파일로의 내부 명령어의 출력을 Unicode로 설정합니다. dir /s /b > UniDir.txt 로 했더니 UTF16-LE BOM없음으로 저장되는군요. 옴마야. 왜 모르고있었지  
230 Archive [플러그인,소스] FixLine RC2 081223 [4] file Hide_D 17424   2008-12-23 2008-12-30 08:50