您的位置:首页 > 教育 > 锐评 > 国内重大新闻2023_舟山建设信息港_电脑课程培训零基础_什么软件可以发布推广信息

国内重大新闻2023_舟山建设信息港_电脑课程培训零基础_什么软件可以发布推广信息

2025/1/10 6:09:57 来源:https://blog.csdn.net/qq_56444188/article/details/145041475  浏览:    关键词:国内重大新闻2023_舟山建设信息港_电脑课程培训零基础_什么软件可以发布推广信息
国内重大新闻2023_舟山建设信息港_电脑课程培训零基础_什么软件可以发布推广信息

1.思维导图

2.使用3语言编写一个简易的界面,界面如下

1.标准输出流

2.标准错误流

3.文件流

要求:按1的时候,通过printf输出数据,按2的时候,通过perror输出数据,按3的时候将输入写入文件中 同时通过dup2函数,将标准错误流重定向到错误日志,将文件流重定向到终端

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>int main() {int choice;char input[100];int file_fd, log_fd;while (1){printf("请选择操作:\n");printf("1. 标准输出流\n");printf("2. 标准错误流\n");printf("3. 文件流\n");printf("4. 退出\n");printf("请输入选项:");scanf("%d",&choice);//	while(getchar()!=10)getchar();switch (choice){case 1:printf("请输入要输出的数据:");fgets(input, sizeof(input), stdin);printf("%s\n", input);break;case 2:printf("请输入要输出的数据:");fgets(input, sizeof(input), stdin);perror(input);break;case 3:printf("请输入要写入文件的数据:");fgets(input, sizeof(input), stdin);file_fd = open("2.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);log_fd = open("error.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);dup(1);dup2(file_fd,1);write(file_fd, input, strlen(input));fflush(stdout);dup(log_fd);dup2(3, log_fd);close(file_fd);close(log_fd);break;case 4:printf("退出程序。\n");exit(0);default:printf("无效选项,请重新输入。\n");break;}}return 0;
}

3.使用stat函数判断一个文件是否存在 同组人可执行 权限,如果存在则去除该权限,如果不存在则追加该权限 自己想办法查询 更改文件权限的函数是什么

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>int main(int argc, char *argv[])
{const char *filename = argv[1];struct stat file_stat;stat(filename, &file_stat);if (S_ISREG(file_stat.st_mode)){if (file_stat.st_mode & S_IXGRP){printf("存在权限,移除%s的同组可执行权限\n", filename);chmod(filename, file_stat.st_mode & ~S_IXGRP);}else{printf("权限不存在,添加权限\n");chmod(filename, file_stat.st_mode | S_IXGRP);}}else{printf("文件错误\n");}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com