| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Графика в DOS |
| Автор: Michey 21.3.2005, 05:20 |
| Ребята помогите! Почему перестаёт всё работать если открыть забитые строки. Уже 2 недели парюсь. Цель: мне необходимо выводить одиночные символы графическом режиме DOS, но всё время прога выдаёт весь массив или если это одна переменная, то символ и букву "я". Через указатель - весь массив. Через посредника - весь массив. С массива [1] через посредника в массив [10] вываливается массив [10]. #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 |
| Спасибо. Попробую. |