关于一个程序(能够查看进程和程序之间的关系),结果输出不对的问题
发表于 : 2013-03-06 21:29
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
char buffer[2048];
int version = 1;
int main(argc,argv)
int argc;
char *argv[];
{
int fdold,fdnew;
fdold = open(argv[1], O_RDONLY);
if(fdold == -1)
{
printf("can not open file %s\n",argv[1]);
exit(1);
}
fdnew = creat(argv[2], 0666);
copyOperation (fdold, fdnew);
L: printf ("This is process %d\n", getpid() );
printf("Copy Done!From %s To %s\n",
argv[1],argv[2]);
exit(0);
}
copyOperation (old,new)
int old,new;
{
int count;
N: while ((count=read(old,buffer,sizeof(buffer)))>0)
write(new, buffer, count);
}
大家好,这个程序已经可以生成可执行文件,但是运行gdb以后,输出的一直是:can not open file (null) ,觉得不应该啊,应该是process id 和 “copy done”之类的,这是为什么啊?
#include <unistd.h>
#include <stdio.h>
char buffer[2048];
int version = 1;
int main(argc,argv)
int argc;
char *argv[];
{
int fdold,fdnew;
fdold = open(argv[1], O_RDONLY);
if(fdold == -1)
{
printf("can not open file %s\n",argv[1]);
exit(1);
}
fdnew = creat(argv[2], 0666);
copyOperation (fdold, fdnew);
L: printf ("This is process %d\n", getpid() );
printf("Copy Done!From %s To %s\n",
argv[1],argv[2]);
exit(0);
}
copyOperation (old,new)
int old,new;
{
int count;
N: while ((count=read(old,buffer,sizeof(buffer)))>0)
write(new, buffer, count);
}
大家好,这个程序已经可以生成可执行文件,但是运行gdb以后,输出的一直是:can not open file (null) ,觉得不应该啊,应该是process id 和 “copy done”之类的,这是为什么啊?