|
|
|
|
 哪位能帮忙解决下面这道题急用 - bingren [ 2005-06-24 21:00 | 990 byte(s)]
 Re: 哪位能帮忙解决下面这道题急用 - Atu [ 2005-06-27 17:33 | 587 byte(s)]
 Re: 哪位能帮忙解决下面这道题急用 - bbwolf [ 2005-06-26 10:48 | 104 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
要求将下面程序功能补充完整,对程序执行中可能出现的异常情况,增添相应的处理过程或提示相应的说明。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#define MODE 0666
#define DUMMY 0
#define BUFSIZE 1024
main(argc,argv)
int argc;
char *argv[];
{
int source_fd,target_fd,num;
char iobuffer[BUFSIZE];
if(argc<>3) { pringf(“error!!”); exit(1);}
source_fd=open(*(argv+1),O_RDONLY,DUMMY);
target_fd=open(*(argv+2),O_WRONLY|O_CREAT, MODE);
while ((num=read(source_fd,iobuffer,BUFSIZE))>0)
{
write(target_fd,iobuffer,num);
}
close(source_fd);
close(target_fd);
exit(0);
}
程序运行中请给予两个参数:源文件名、目标文件名
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
嘿嘿,这种程序还用写吗?
把/bin/cp的源码找出来交上去,你们老师一激动,非得拜你为“老师”不可!
1. pringf是什么东西啊?
2. main()函数的声明太陈旧了,新的C和C++规范中,都已经不这么用了,
不知道现在的新的C教科书是否还这么教学生。
3. argc <> 3 ? 这种语法,好象不是C的吧?
4. 闲着没事,声明的DUMMY干吗?
5. pringf(“error!!”); 全角的引号,编译是通不过的
6. *(argv+1), *(argv+2),干吗不用简单明了的argv[1], argv[2]呢?
莫非高手都喜欢这么做?
|
|
|
[Original]
[Print]
[Top]
|
|
|