OSC9th 操作系统概念——第二章编程题
题目描述
2.3节描述了一个程序,以将一个文件内容复制到另一个目标文件。这个程序首先提示用户输入源文件名和目标文件名。利用windows或POSIX的API,编写这个程序。确保包括所有必要的错误检查以及源文件是否存在。
程序
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(void)
{
char sourceName[100];
char objName[100];
int fd1, fd2;
printf("请输入源文件的名字:");
scanf("%s", sourceName);
/*读文件*/
fd1 = open(sourceName, O_RDONLY);
/*错误时返回-1*/
if (fd1 == -1){
/*print a system error message*/
perror(sourceName);
return EXIT_FAILURE;
}
printf("请输入目标文件名:");
scanf("%s", objName);
char buf[128];
/*写文件
O_WRONLY 写入
O_CREAT 如果不存在则创建改文件
*/
fd2 = open(objName, O_WRONLY|O_CREAT);
/*read系统调用,正常情况下返回读取的字符位数,错误时返回-1, 读取到文件结尾时返