Автор |
Сообщение |
Колян Форумчанин |
|
идея алгоритма такая: есть файл с определённой инфой, его нужно считывать (желательно построчно) и выводить на экран в виде титров (движущихся снизу-вверх), т.е. самая верхняя строка исчезает, снизу появляеца следующая. Всё это должно происходить в определённом окне (в моей проге это I=21-высота, J=39-ширина). Считывание происходит в бесконечном цикле, когда файл заканчиваеца, чтение происходит сначала. Я реализовал, но не построчно, а посимвольно... в итоге мало того, что я получаю на экран сплошной текст, так ещё и с каким то "мусором" в виде смайлов. Всё происходит по таймеру обработчика прерываний, новая строка появляеца каждую секунду. Мой код...
void printTXT() //печатает файл
{
int i,j;
textcolor(WHITE);
for(i=0;i<I;i++)
{
for(j=0;j<J-1;j++)
{
gotoxy(2+j,i+2);
cprintf("%c",TXT[i][j]);
}
}
}
void txt() //перестраивает матрицу для эффекта титров
{
char ch;
int i,j,l,m,x;
for(i=0;i<I-1;i++)
for(j=0;j<J;j++)
TXT[i][j]=TXT[i+1][j];
for(j=0;j<J;j++)
{
ch=fgetc(f);
if(ch==EOF){rewind(f); ch=fgetc(f);}
TXT[I-1][j]=ch;
}
}
считывание в TXT[I][J] происходит в главной программе...
f=fopen("KURS10.txt","rt+");
for(i=0;i<I;i++)
for(j=0;j<J;j++)
TXT[i][j]=fgetc(f);
подскажите как можно поправить или как переделать чтоб считывалось в одномерный массив через fgets()... заранее спасибо! |
|
|
|
|
Колян Форумчанин |
|
|
|
|
BS Эксперт |
|
Ты хочешь win32 приложение? |
|
|
|
|
Колян Форумчанин |
|
я хочу не приложение, а всего лишь процедуру которая будет выполнять то, что требуеца... |
|
|
|
|
BS Эксперт |
|
Я не могк скачивать с сибнета. Я понимаю, что ты хочешь. Тебе это в вин32 надо или консоль? |
|
|
|
|
Колян Форумчанин |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|