本文目录一览:
C语言“窗口滑动”代码中的疑问?
这个是在命令行中模拟图形界面的操作?
n表示你设定的窗口大小, 也就是每行的字符数.
r表示送入和删除字符后, 当前所在的窗口位置.
C语言如何滑动读取数据
如果格式一样的话用fscanf最简单、 伪代码: int dummy; fscanf(fp, "class %d age %d %d %d %d", dummy, dummy, dummy, dummy, dummy); 如果是其它,举个例子: 例如 我的文件中一行里是 ABC DEF 10 20 并且每一行都是 %s %s %d %d的格式 如何...
如何用C语言制作一个可以在开始屏幕上滚动的字幕?
实现滚动字幕:
一、单行滚动,写一个函数,每次调用让全局或静态字符数组向一个方向移位(比如左移,从最右边一个非0字符开始遍历,依次覆盖左边的一个字符,最左边的字符被第二个字符覆盖,最右边一个非0位变移出的那个字符)。记得保留结束符号0。
二、之后循环打印字符数组。每次使用system("cls");清空控制台显示。
三、多行滚动,同理,只不过把字符移动覆盖,改成字符串移动覆盖。(移动方向的后一行覆盖前一行,把移动方向第一行内容赋值给最后一行)。
//ps:由于肉眼观察,移动需要间隔,用Sleep函数,但该函数会让线程停止,如滚屏间隔期间,还希望其它部分正常运行,需要写线程。
下面是参考代码:
#includestdio.h
#include windows.h
void sScreen(char str[],int len,int f);//len:内容长度,不包含结束符号。f=1向左移动。f=0向右移动;
int main()
{
char str[]="I LOVE YOU";
while(1)
{
printf("%s\n",str);
sScreen(str,10,0);
Sleep(1000);
system("cls");
}
return 0;
}
void sScreen(char str[],int len,int f)
{
int i;
char c;
if(f)
{
c=str[0];
for(i=0;ilen-1;i++)
str[i]=str[i+1];
str[len-1]=c;
}
if(!f)
{
c=str[len-1];
for(i=len-1;i0;i--)
str[i]=str[i-1];
str[0]=c;
}
}