Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > gotoxy() и setcolor() в консольном прил.


Автор: SaDFromSpb 7.6.2006, 12:56
Есть задача: написать эмулятор программы fdisk под виндой (для обучения детишек).
Имеется только компилятор cl.
Хочется уметь очищать экран, скрывать курсор, перемещать курсор на любую позицию экрана, менять цвет текста.
Разумеется, все это в текстовом режиме.

У меня в хидерах, идущих с компилятором есть conio.h, но его содержимое довольлно скудно:
Код
/* Function prototypes */

_CRTIMP char * __cdecl _cgets(char *);
_CRTIMP int __cdecl _cprintf(const char *, ...);
_CRTIMP int __cdecl _cputs(const char *);
_CRTIMP int __cdecl _cscanf(const char *, ...);
_CRTIMP int __cdecl _getch(void);
_CRTIMP int __cdecl _getche(void);
#ifdef  _M_IX86
int __cdecl _inp(unsigned short);
unsigned short __cdecl _inpw(unsigned short);
unsigned long __cdecl _inpd(unsigned short);
#endif  /* _M_IX86 */
_CRTIMP int __cdecl _kbhit(void);
#ifdef  _M_IX86
int __cdecl _outp(unsigned short, int);
unsigned short __cdecl _outpw(unsigned short, unsigned short);
unsigned long __cdecl _outpd(unsigned short, unsigned long);
#endif  /* _M_IX86 */
_CRTIMP int __cdecl _putch(int);
_CRTIMP int __cdecl _ungetch(int);


#ifndef _WCONIO_DEFINED

/* wide function prototypes, also declared in wchar.h */

#ifndef WEOF
#define WEOF (wint_t)(0xFFFF)
#endif

_CRTIMP wchar_t * __cdecl _cgetws(wchar_t *);
_CRTIMP wint_t __cdecl _getwch(void);
_CRTIMP wint_t __cdecl _getwche(void);
_CRTIMP wint_t __cdecl _putwch(wchar_t);
_CRTIMP wint_t __cdecl _ungetwch(wint_t);
_CRTIMP int __cdecl _cputws(const wchar_t *);
_CRTIMP int __cdecl _cwprintf(const wchar_t *, ...);
_CRTIMP int __cdecl _cwscanf(const wchar_t *, ...);


В общем, мне не хочется ставить из-за этой задачи весь билдер или MS Visual C.
Может кто-нибудь выложит соответствующую библиотеку, или просто скажет, где она валяется.

ЗЫ: В форуме нет общей темы про "программирование под Windows", поэтому задал вопрос здесь  

Автор: Romikgy 7.6.2006, 15:07
FillConsoleOutputCharacter
WriteConsoleOutputCharacter 

Автор: SaDFromSpb 7.6.2006, 17:50
Romikgy, спасибо конечно. Но только у меня нету вот этих вот файлов:
Цитата
Header :    Declared in Wincon.h; include Windows.h.
(с MSDN)

Как бы мне их раздобыть?
И вообще, получится ли у меня использовать эти функции, если я просто влеплю эти хидеры в мою include-директорию.
Там еще написано, что
Цитата
Library : Link to Kernel32.lib.
Какая-то Kernel32.lib у меня лежит в lib'ах размером в 191,866 байт. 

Автор: SaDFromSpb 7.6.2006, 18:29
Блин, хотя wincon.h и windows.h наверняка еще кучу всякой фигни за собой тянут... Наверное проще полноценный SDK поставить.... Кто-нибудь может наверняка сказать? 

Автор: Earnest 7.6.2006, 19:15
Ставь, конечно.
Програмировать под Windows без SDK не получится... 

Автор: Romikgy 8.6.2006, 08:28
Цитата(SaDFromSpb @  7.6.2006,  16:50 Найти цитируемый пост)
Как бы мне их раздобыть?

а че эт за вещь така, где нет
Цитата(SaDFromSpb @  7.6.2006,  17:29 Найти цитируемый пост)
wincon.h и windows.h

 smile  

Автор: _hunter 8.6.2006, 10:26
думаю во всяких турбосях (и им подобным компиляторах) windows.h нету... 

Автор: Romikgy 8.6.2006, 11:01
гы ... точно , сколько юзал турбо си никогда внимание не обращал smile, только писать в турбо си да под винду , .. брр.. 

Автор: SaDFromSpb 10.6.2006, 16:47
Все понятно. Буду ставить цельком. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)