Linux下的read()和write()的第二个参数不能是char*?
程序如下:(为什么把charbuf[256]改成char*buf之后,写入就为空了)#include<fcntl.h>#include<unistd.h>#include...
程序如下:(为什么把 char buf[256] 改成 char* buf 之后,写入就为空了)
#include<fcntl.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
int main(int argc, char** argv)
{
char buf[256];
int file_s,file_d,counter;
file_s = open(argv[1],O_RDONLY);
file_d = open(argv[2],O_RDWR | O_CREAT,S_IRUSR | S_IWUSR);
while((counter = read(file_s,buf,10)) > 0)
{
write(file_d,buf,counter);
}
close(file_s);
close(file_d);
return 0;
} 展开
#include<fcntl.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
int main(int argc, char** argv)
{
char buf[256];
int file_s,file_d,counter;
file_s = open(argv[1],O_RDONLY);
file_d = open(argv[2],O_RDWR | O_CREAT,S_IRUSR | S_IWUSR);
while((counter = read(file_s,buf,10)) > 0)
{
write(file_d,buf,counter);
}
close(file_s);
close(file_d);
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询