- 博客(1)
- 资源 (3)
- 收藏
- 关注
第四次上机题目及参考代码.docx
#include
#include
#include
#include
#include
#include
#include
#include
#include
int kbhit(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt;);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW,&newt;);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf |O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW,&oldt;);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if(ch != EOF)
{
ungetc(ch, stdin);
return 1;
}
return 0;
}
int main(int argc,char **argv)
{
char *buf=malloc(1024);
int fd=open(argv[1],O_RDONLY|O_CREAT|O_APPEND,0666);
int fd1=open(argv[2],O_WRONLY|O_CREAT|O_APPEND,0666);
printf("%d,%d\n",fd,fd1);
int du=1;
while(du>0)
{
while(kbhit())
{
switch(getchar())
{
case '1':lseek(fd,1000000,SEEK_CUR);break;
case '2':lseek(fd,-1000000,SEEK_CUR);break;
default:break;
}
break;
}
du=read(fd,buf,50);
int fmt=AFMT_S16_LE,channels=2,speed=44100;
ioctl(fd1,SNDCTL_DSP_SETFMT,&fmt;);
ioctl(fd1,SNDCTL_DSP_CHANNELS,&channels;);
ioctl(fd1,SNDCTL_DSP_SPEED,&speed;);
int xie=write(fd1,buf,du);
printf("%d %d ",du,xie);
}
close(fd);
close(fd1);
return 0;
2019-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人