• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

SetConsoleTextAttribute 함수 특수문자 겹침 현상..

24.01.13 04:12 작성 조회수 232

0

위와 같은 현상이 왜일어나는지 아시나요?

같은 색으로 하면 괜찮습니다..

색은 변경할때 반칸씩 밀려 겹쳐 보이네요..

간단한 코딩 아래첨부합니다..


#include <iostream>

int main()

{

int temp = 0;

for (int y = 0; y < 25; y++)

{

for (int x = 0; x < 25; x++)

{

temp++;

//단일색 안밀림..

//SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1);

//색변경시 밀림..

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), temp % 3 == 0 ? 1 : 2);

cout << "■";

}

cout << endl;

}

}


 

환경은 윈도우 11입니다.

답변 1

답변을 작성해보세요.

1

cnznsh님의 프로필

cnznsh

2024.01.13

저도 이거 때문에 엄~~~~~~~청나게 삽질했는데 이것저것 찾아보니 폰트 스타일 때문에 말씀 주신 것과 같은 현상이 일어나는 것 같더라구요.

더 정확한 건 강사님이 설명해 주시겠지만 임시 처방으로 제가 했던 방식 아래와 같이 설명 드려봅니다.

 

우선 콘솔창 탭 오른쪽 설정에 들어갑니다.

설정 여시면 왼쪽에 아이콘들 있는데, 거기서 아래의 기본값 -> 모양을 선택합니다.

 

그리고 글꼴에서 모든 글꼴 표시를 하시고, 적절한 글꼴들을 테스트 해보시면 되는데 저는 밑에 있는 글꼴을 선택했을 때 그나마 도형이 조밀하게 출력되더라구요.

(이렇게 설정하면 그나마 아래와 같이 그나마 간격이 조밀한 형태로 콘솔 창에 출력이 됩니다. )

 

글꼴은 적절한 거 하시면 되긴 하는데 위와 같이 특이한 글꼴들은, 도형은 조밀하게 표시 되는데 텍스트가 이상하게 출력이 되더라구요. 미로찾기 테스트 할 때만 임시적으로 위 글꼴 이용해 보시는 것을 권해드립니다.

 

 

 

chunkind님의 프로필

chunkind

질문자

2024.04.05

우와~

너무 늦게 봤네요..

정성스런 답변 감사드려요!!