에서 gotoxy()를 얻을 수있는 방법, 나는 컴파일하고 터미널에서 실행합니다. 그러나 온라인 프로그래밍 콘테스트에서는 다이어그램과 같은 출력이 필요합니다. 이를 위해 내가 .so를 <strong>우분투</strong>에 <strong>GCC</strong>를 사용하고 GCC
, 나는 TURBOC를 사용하는 경우 나는 그것이 출력의 나선형 형식를 얻을 수 gotoxy()를 사용 conio.h와 사용하여 얻을 수 있습니다. 하지만 우분투에서 어떻게 이걸 얻을 수 있습니까?답변
ncurses 라이브러리를 사용하십시오.
여기 http://www.paulgriffiths.net/program/c/srcs/curhellosrc.html
#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
int main(void) {
WINDOW * mainwin;
/* Initialize ncurses */
if ((mainwin = initscr()) == NULL) {
fprintf(stderr, "Error initialising ncurses.\n");
exit(EXIT_FAILURE);
}
move(10, 15);
addch('X');
refresh();
getch();
delwin(mainwin);
endwin();
refresh();
return EXIT_SUCCESS;
}
추가 정보에서 적응, 예제가 여기에 있습니다 : http://invisible-island.net/ncurses/ncurses-intro.html#stdscr
ANSI escape sequences의 제외하고는 ncurses를 조사 할 수 있습니다
이 모든 것은 궁극적으로 프로그램이 아닌 실제 호스트, 언어 또는 라이브러리를 실행하는 터미널의 기능에 따라 달라집니다. 프로그램 출력을 파일이나 프린터로 재지 정하는 작업을 고려하십시오.
conio.h
API는 고정 콘솔과 관련이 있습니다. Unix 계열 시스템에서는 크기 조정이 가능한 X- 터미널과 같이 다양하게 구성 할 수있는 터미널을 사용합니다.
는 당신이 필요로 얼마나 많은 출력의 라인을 결정합니다. "char *"의 배열을 필요한 출력 줄 당 하나의 항목으로 할당하십시오. 숫자를 배치 할 때 "realloc()"을 사용하여 줄의 크기를 늘리고 필요에 따라 이전 끝에서 새 끝까지 공백을 채 웁니다. 그 번호를 해당 행의 적절한 위치에 놓으십시오 (메모리에 있음).
메모리에 문자열 배열을 작성한 후; 각 줄을 인쇄하고 할당 한 메모리를 해제하는 for 루프를 수행하십시오.
커서 위치를 제어하기 위해 "gotoxy()"또는 기타 항목이 필요하지 않습니다.
콘테스트이기 때문에 ncurses와 같은 종속성을 원하지 않는다고 가정하면 메모리에서 할 수 있습니다.
문자 및 열의 2 차원 배열을 설정합니다. 예를 들어 24x80입니다. 적절한 셀에 값을 할당하는 자신의 버전 gotoxy()
을 작성하십시오. 플로팅이 끝나면 선의 배열을 출력합니다.
아직 여기에 없으므로 ANSI 이스케이프 시퀀스를 사용하는 예제에 대해서는 Steve-o으로 언급하고 싶습니다.
void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}
나는 그것을 here에서 받았다.
0x1B
은 십진수로 27에 대해 16 진수이며 ESC에 대한 ASCII입니다.이스케이프 시퀀스는 함께 시작합니다.
%m;%nf
커서를 행 n, 열 m으로 이동합니다.
는 ANSI 이스케이프 시퀀스
은 최고에, "to control the formatting, color, and other output options on video text terminals는"
- 1. 내가 Symfony2</strong><strong>에 대한 FOSUserBundle</strong><strong>을 사용하고
- 2. 선택 목록 내가 파이어 폭스 3.0.10</p> <p>에 firewatir 사용하고 firewatir
- 3. 어떻게 내가 <strong>Northwind 데이터베이스</strong>를 사용하고 마스터 세부 삽입 양식
- 4. System.ServiceModel.ClientBase를 처리하는 방법 <TChannel>? 내가 ClientBase <>를 확장하는 클래스를 사용하고
- 5. Tortoise svn <<<<를 파일에 추가 중!
- 6. 에</p> <p>,
- 7. 연산자 "<<"를 포인터에 사용
- 8. 연산자 << 오버로드 - C++를 자바
- 9. 내가 실버를 사용하고
- 10. 내가 CherryPy와 Jinja2</p> <p>를 사용하여 간단한 웹 페이지를 구축 내가
- 11. 엽차 터치는 <p>내가 사용하고 코드의 예 크롬</p>에 창 크기를 조정하면 크기를 늘
- 12. 나는 우리가 JSP와 스트럿츠</p> <p>를 사용하고 여기에</p> <p>는 J2EE 웹 응용 프로그램 내가 아는 일하고
- 13. 내가 하위 도메인</p> <p> </p> <p>를 재 작성이 규칙을 사용하고 rewriteModule
- 14. php file_get_contents() .. 특수 문자를 처리하지 못합니까? 내가 파일에 file_get_contents()를 사용하고 내용을 에코 때, 내가 뭔가를 얻을</p> <blockquote> <p>& T ™ 공식 AT 사이트</p> </blockquote> <p>:
- 15. Enumerable <T>의 인스턴스를 캐스팅하는 방법. (술부)를 IEnumerable <T>에?
- 16. '<'연산자는 내가 PowerShell을 사용하고 다음 명령을 실행하려고하고 향후 사용을
- 17. 에 extjs 확장은 내가/내선 버전 3.3.1 <br> 승 Ext.ux.form.lovcombo을 사용하고 체크 박스
- 18. 스피어 오류 나는 <strong>EJB 2.x에서</strong>를 사용하고 다른 서버
- 19. 내가 웹을 만들려면 workflow.Now 내가 샘플을 만든</p> <p>톰캣 6. 내가 jBPM을 3.2.Also을 사용하고
- 20. 내가 테스트 <br> 내가 사용하고 그들을 사용할 <br> /내가 입술에 테스트에 사용할 값의 텍스트 파일을 만들었습니다
- 21. Java Generics가 Map <String,?을 (를) 사용하고 있습니다. extend List <String>>
- 22. 는 어떻게 "<strong></strong> semantic_form_for"를 사용하고
- 23. "<product_name>에 연결"
- 24. 는 오류 내가 명령 프롬프트에서 APK 파일</strong>를 설치 <strong>에 노력하고 안드로이드 에뮬레이터
- 25. 내가 넷빈즈를 사용하고</p> <p>.. 넷빈즈, WSDL 및 JSP
- 26. 내가 엑스 코드 4 & IOS 4.3</p> <p>LastWorn을 사용하고 날짜
- 27. C#을 XP에서/비스타이 내 app.config에</p> <p>등등 내가 log4net를 사용하고
- 28. 내가 <p></p>가 crontab을 업데이트하려면 때마다 보석을 사용하고
- 29. extjs4 저장소 내가 xhtpp에서 extjs4 저장소</p> <p>을 사용하고
- 30. 액티브 그룹화가/카운트 쿼리 도움말 내가 레일</p> <p>3을 사용하고
난 당신이, (숫자, 즉 순서로 각 숫자가가는 시간을 미리 파악하기로 왼쪽에서 오른쪽으로 생각 사용 -bottom 및 사이의 공백 수)를 입력 한 다음 모든 텍스트를 출력하면됩니다. "화면에서이 위치로 이동하여 번호를 쓰는 것만으로도 ** 재미있는 질문이 아닙니다 **; 프로그래밍 경연 대회는 근본적으로 디자인이 아니라 구현에 관한 것입니다. –