在同路径下使用程序新建。txt文件,使像输出的图形运动。
我的头文件添加到了c库函数的路径下,然后在那里声明了所用的库函数。
用到的库函数:
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
还需要添加一个 宏定义:
#define PRINT_ERR(msg) \
do { \
perror(msg); \
return -1; \
} while (0)
#include <head.h>
int main(int argc, const char *argv[])
{
int fd;
int len = 40;
while (1)
{
int i;
int j = 10;
if ((fd = open("try.txt", O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1)
PRINT_ERR("openfile error");
while (--j)
{
for (i = 0; i < len-j; i++)
{
write(fd, " ", 1);
}
write(fd, "@<<<\n", 5);
}
sleep(1);
if (i)
len--;
if (!(--len))
len = 40;
close(fd);
}
return 0;
}
在第一行与第二行之间循环动
#include <head.h>
int main(int argc, const char *argv[])
{
int fd;
int m = 4;
int n = 4;
int len = 20;
int j = 20;
int k = 23;
while (1)
{
int i;
if ((fd = open("try.txt", O_RDWR | O_CREAT | O_TRUNC, 0666)) == -1)
PRINT_ERR("openfile error");
if (!n)
{
m = 4;
n = 4;
len = 19;
j = 20;
k = 23;
}
for (i = 0; i < len; i++)
{
write(fd, " ", 1);
}
if (!j && n)
{
for (i = 0; i < k; i++)
{
write(fd, " ", 1);
}
k--;
switch (--n)
{
case 3:
write(fd, "@\n", 2);
for (i = 0; i < 21; i++)
{
write(fd, " ", 1);
}
write(fd, ">>>", 3);
break;
case 2:
write(fd, "@<\n", 3);
for (i = 0; i < 22; i++)
{
write(fd, " ", 1);
}
write(fd, ">>", 2);
break;
case 1:
write(fd, "@<<\n", 4);
for (i = 0; i < 23; i++)
{
write(fd, " ", 1);
}
write(fd, ">", 1);
break;
case 0:
write(fd, "@<<<", 4);
printf("%d\n%d\n",n,len);
break;
}
i = 0;
}
if (!m && j)
{
write(fd, "\n", 1);
for (int i = 0; i < 21 - j; i++)
{
write(fd, " ", 1);
}
j--;
write(fd, ">>>@", 4);
}
if (!len && m)
{
switch (--m)
{
case 3:
write(fd, "<<<\n@", 5);
break;
case 2:
write(fd, "<<\n>@", 5);
break;
case 1:
write(fd, "<\n>>@", 5);
break;
case 0:
write(fd, "\n>>>@", 5);
break;
}
}
if (i)
{
len--;
write(fd, "@<<<", 4);
}
sleep(1);
close(fd);
}
return 0;
}