linux ,编写一个程序,把一个文件复制到另一个文件上
即实现简单的copy功能
要求:只用 open() read() write() 和close()系统调用.
cat file1 >> file2 ?
open()连个文件,read()其中一个内容,write()到另外一个文件上,最后close()掉。
能不能用lseek函数?
C/C++ code:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define BUF_SIZE 1024*8
int main()
{
int fds, fdd;
char buf[BUF_SIZE];
size_t hasread = 0;
fds = open("filea", O_RDONLY);
fdd = open("fileb", O_WRONLY, O_CREAT);
if(fds && fdd)
{
while((hasread = read(fds, buf, sizeof(buf))) > 0)
{
write(fdd, buf, hasread);
}
close(fds);
close(fdd);
}
不好意思,少copy半边“}”
非常好
相关问答:
使用Struts2上传文件,在linux下报错
2009-09-29 14:56:20,801 [org.apache.struts2.interceptor.FileUploadInterceptor]-[ERROR] Processing of multipart/form-data request failed. c:/temp/upload__1dcd07ee_12 ......
各位大虾,我正在学习Linux,可是Linux图形界面和命令行之间切换遇到困难,在命令行下输入startx,不是进入图形界面
而是出现
请问各位,这是为什么? 而且按Ctrl+Alt+F7,也不能命令行进入图形界面。&nbs ......
请教:
在 LINUX系统中的ORACLE怎么新建表空间?
一样的命令啊。如果没用omf的话,你就指定下路径和数据文件名就行了。
create tablespace xxx datafile '/u01/..../aaa.dbf' size 10m;
CREATE TA ......
在自己的电脑上安装了ubuntu 就是想玩一下3D桌面,于是下载了
compizconfig-settings-manager
emerald
simple-ccsm
fusion
这些东西,安装完之后,我在电脑里点击了emerald ......