Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Графика в DOS


Автор: Michey 21.3.2005, 05:20
Ребята помогите!
Почему перестаёт всё работать если открыть забитые строки.
Уже 2 недели парюсь. smile

Цель: мне необходимо выводить одиночные символы графическом режиме DOS, но всё время прога выдаёт весь массив или если это одна переменная, то символ и букву "я".
Через указатель - весь массив.
Через посредника - весь массив.
С массива [1] через посредника в массив [10] вываливается массив [10]. smile

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <ctype.h>

int main()
{
int graphdriver=DETECT, gmode, errorcode;
int c;
char str[10];
char ch[1];
char cx;

initgraph(&graphdriver, &gmode, "");
errorcode = graphresult();

if(errorcode != grOk)
{
printf("Ошибка инициализации драйвера %i \n", errorcode=graphresult());
printf("\nНажми клавишу!\n");
getch();
exit(1);
}
outtext ("Insert text: ");
for (c=0; c<10; c++)
{
ch[0]=getch();
// cx=ch[0];
// str[c]=cx;
if (*ch==' ' || *ch==27) break;
outtext (ch);
gotoxy(40,15);
printf("%c", *ch);
}

closegraph();
return 0;
}

Автор: Олег М 21.3.2005, 08:37
Забываешь по ноль в конце строки. Вылетает вот здесь outtext (ch); Сделай char ch[2]; ch[1]=0;

Автор: Michey 22.3.2005, 04:15
Спасибо. Попробую.

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