Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 20:01   #1
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию Консольное программирование

Осваиваю C++
Пишу под windows на VS2012
Необходима работа по смене цвета символов, вставить символ в нужное место(по координатам), считать с по координатам символ с консоли (не критично) ну и не которые функции консоли, в Delphi все это использовал через crt32, нашел что в C++ ncurses только похоже он под nix, а под windows он или его аналог pdcurses http://pdcurses.sourceforge.net/

Код:
// panzer.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include "curses.h"
using namespace std;

void paintlvl();


char ml[25][81];


int main()
{
int count;
int f;
initscr();
setlocale(LC_ALL, "russian_russia.1251");
paintlvl();
move(5,5);
cout <<"x";
cin >> f;
	return 0;
}


void paintlvl()
{
int i,n;
for(i=1; i<=80; i++)
{
	ml[1][i]='x';
	cout <<"x";
}
for(i=1; i<=22; i++)
{
  ml[i][1]='x';
  cout <<"x";
  for(n=1; n<=78; n++) cout <<" ";
  cout <<"x";
}
for(i=1; i<=80; i++)
cout <<"x";
}
вроде подключил её, а он ругается
Цитата:
1>panzer.obj : error LNK2019: ссылка на неразрешенный внешний символ _initscr в функции _main
1>panzer.obj : error LNK2019: ссылка на неразрешенный внешний символ _move в функции _main
Нуждаюсь в помощи как с этим работать или аналог какой...

Последний раз редактировалось Alexandr555; 23.01.2013 в 20:16.
Alexandr555 вне форума Ответить с цитированием
Старый 23.01.2013, 20:17   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

этих функций нет.... вам и об этом и говорят.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 23.01.2013, 20:21   #3
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию

заглянул в "curses.h"
Цитата:
WINDOW *initscr(void);
int innstr(char *, int);
int insch(chtype);
int insdelln(int);
int insertln(void);
int insnstr(const char *, int);
int insstr(const char *);
int instr(char *);
int intrflush(WINDOW *, bool);
bool isendwin(void);
bool is_linetouched(WINDOW *, int);
bool is_wintouched(WINDOW *);
char *keyname(int);
int keypad(WINDOW *, bool);
char killchar(void);
int leaveok(WINDOW *, bool);
char *longname(void);
int meta(WINDOW *, bool);
int move(int, int);
насколько я понимаю там это есть
Alexandr555 вне форума Ответить с цитированием
Старый 23.01.2013, 20:27   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Расскажи, как именно ты подключал к проекту библиотеку?
_Bers вне форума Ответить с цитированием
Старый 23.01.2013, 20:32   #5
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию

Ну в архиве было
Цитата:
curses.h
panel.h
pdcurses.dll
pdcurses.lib
curses.h я кинул в папку к проекту
Код:
#include "curses.h"
прописал

panel.h мне не надо вроде бы,
а
Цитата:
pdcurses.dll
pdcurses.lib
он не потребовал потому никак
Alexandr555 вне форума Ответить с цитированием
Старый 23.01.2013, 20:38   #6
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Alexandr555 Посмотреть сообщение
он не потребовал потому никак
А как ты думаешь, зачем вообще нужны были эти файлы?
Просто так, для красоты?

Ты не подключил библиотеку, а потом удивляешься, почему линкер не нашел реализаций её функций.
_Bers вне форума Ответить с цитированием
Старый 23.01.2013, 20:51   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Alexandr555 , есть прототипы функций/классов которые в файлах *h,
а для линкера нужны еще и реализации этих прототипов в файлах *cpp, *obj, *lib.
В студии библу можно подключить через прагму #pragma comment (lib, "somelib.lib")
EUGY вне форума Ответить с цитированием
Старый 23.01.2013, 20:55   #8
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию

Я так и думал, подключить не знал как, дотыкался подключи скомпилил.
вот только курсор не переносится что то
move(5,5);
Alexandr555 вне форума Ответить с цитированием
Старый 23.01.2013, 21:02   #9
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Видимо надо почитать описание к функции
Цитата:
The cursor associated with the window is moved to the given
location. This does not move the physical cursor of the
terminal until refresh() is called. The position specified is
relative to the upper left corner of the window, which is (0,0).
EUGY вне форума Ответить с цитированием
Старый 23.01.2013, 21:16   #10
Alexandr555
Форумчанин
 
Регистрация: 23.03.2011
Сообщений: 310
По умолчанию

ну вот к примеру и
int mvprintw(int y, int x, const char *fmt, ...);
не робит хотя по описанию должно
Цитата:
The printw() functions add a formatted string to the window at
the current or specified cursor position. The format strings are
the same as used in the standard C library's printf(). (printw()
can be used as a drop-in replacement for printf().)
Alexandr555 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++, консольное приложение pavlovnik Фриланс 2 11.12.2011 22:52
Консольное приложение Linochka Компоненты Delphi 1 16.05.2011 12:11
Консольное ли приложение? Сtrl Visual C++ 1 11.04.2011 11:36
Консольное окно A-D_1.618 Помощь студентам 0 29.01.2011 04:22
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28