현재 C언어로는 textattr이나 gotoxy같은 함수는 사용할 방법이 없나요?
글쓴이: bshi02 / 작성시간: 일, 2023/05/21 - 8:12오전
아래는 옛날 터보C로 작성된 코드인데요 숫자 입력을 받으면 화폐단위를 출력하는 코드인데 호기심이 생겨서 한번 VS에서 실행해보고 싶었는데 문제가 ..옛날 터보C로 작성되어서 컴파일해보면 textattr,gotoxy같은 함수가 정의 되어 있지 않다고 나오네요. 아래의 코드를 vs등에서 컴파일해서 실행할 방법은 없을까요?
#include <conio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include <Turboc.h> #include <stdbool.h> #define GETS_MAX_SIZE 128 #define MAXLONG 0x7fffffffL #define MINLONG ((long)0x80000000L) long getvalue (size_t width,char prefix); void putvalue(long value,char prefix,boolean plussign); char *strdel(char *s,const char *delstr); #define reversevideo() textattr(0x70); void main(void) { long value; do{ puts("Enter value:"); reversevideo(); cputs("| |\r"); gotoxy(15,wherey()); value=getvalue(10,'$'); normvideo(); if(value!=MAXLONG&&value!=MINLONG) { cputs("\nInput value: "); putvalue(value,'$',true); }else if(value!=MINLONG)cputs("\nInput error!"); cputs("\r\n\r\n"); }while(value!=MINLONG); } long getvalue(size_t width,char prefix) { char s[GETS_MAX_SIZE+2],*ps,*tempptr; long value,sign=1L; if(width>GETS_MAX_SIZE)return MAXLONG; s[0]=width+1; cgets(s); if(*(s+2)=='\0')return MINLONG; for(ps=s+2;isspace(*ps);ps++); if(*ps=='+')ps++; else if(*ps=='-')ps++,sign*=-1; if(*ps==prefix)ps++; for(tempptr=ps;tempptr!=NULL;) tempptr=strdel(tempptr,","); value=strtol(ps,&tempptr,10)*sign; if(*tempptr!='\0')return MAXLONG; else if(value!=0L)return value; else if(*ps++=='0'&&*ps=='\0')return 0; else return MAXLONG; } void putvalue(long value,char prefix,boolean plussign) { char s[33],*ps; int len; ltoa(value,s,10); len=strlen(s); ps=s; if(*ps=='-')ps++,len--,putch('-'); else if(plussign)putch('+'); if(prefix!='\0')putch(prefix); for(;*ps;ps++) { putch(*ps); if(--len%3==0&&len!=0)putch(','); } } char* strdel(char* s,const char* delstr) { char* start,*end; if((start=strstr(s,delstr))==NULL)return NULL; end=start+strlen(delstr); memcpy(start,end,strlen(s)-(end-s)+1) ; return start; }
Forums:
윈도우 10에서 Turbo C를 쓸수 있는
윈도우 10에서 Turbo C를 쓸수 있는 turboc7(https://turboc-7-by-akki.software.informer.com/) 툴 프로젝트가 있는 것 같은데 참고해 보세요.
ncurses
비슷한 것 있습니다.
https://en.wikipedia.org/wiki/Ncurses
세벌 https://sebuls.blogspot.kr/
답변 감사합니다.
https://turboc-7-by-akki.software.informer.com의 터보c를 설치해보니 dosbox에서 실행하는 프로그램이네요.
확실히 잘 되는데 역시나 30여년전의 터보C 라서 요즘의 VS나 코드블럭같은 IDE에 비해서 디버깅이 좀 불편하긴 하네요...
댓글 달기