1:思维导图
2:使用3语言编写一个简易的界面,界面如下 1:标准输出流 2:标准错误流 3:文件流 要求:按1的时候,通过printf输出数据,按2的时候,通过perror输出数据,按3的时候将输入写入文件中 同时通过dup2函数,将标准错误流重定向到错误日志,将文件流重定向到终端
cs
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, const char *argv[])
{
printf("1.标准输出流\n");
printf("2.标准错误流\n");
printf("3.文件流\n");
int err = open("err.txt",O_RDWR|O_CREAT|O_TRUNC,0666);
int file = open("file.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
char arr[10]="hello\n";
int num;
while(1)
{
printf("请输入操作:");
scanf("%d",&num);
switch(num)
{
case 1:
printf("标准输出流\n");
break;
case 2:
perror("标准错误流\n");
break;
case 3:
write(file,arr,sizeof(arr));
dup2(err,2);
dup2(0,file);
break;
default:
return 0;
}
}
close(err);
close(file);
return 0;
}
3:使用stat函数判断一个文件是否存在 同组人可执行 权限,如果存在则去除该权限,如果不存在则追加该权限 自己想办法查询 更改文件权限的函数是什么
cs
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, const char *argv[])
{
printf("1.标准输出流\n");
printf("2.标准错误流\n");
printf("3.文件流\n");
int err = open("err.txt",O_RDWR|O_CREAT|O_TRUNC,0666);
int file = open("file.txt",O_WRONLY|O_CREAT|O_TRUNC,0666);
char arr[10]="hello\n";
int num;
while(1)
{
printf("请输入操作:");
scanf("%d",&num);
switch(num)
{
case 1:
printf("标准输出流\n");
break;
case 2:
perror("标准错误流\n");
break;
case 3:
write(file,arr,sizeof(arr));
dup2(err,2);
dup2(0,file);
break;
default:
return 0;
}
}
close(err);
close(file);
return 0;
}