20 课程总结,单机模式下的文件上传与下载
来源:互联网 发布:华为程序员招聘要求 编辑:程序博客网 时间:2024/05/02 00:47
1. 例子:单机模式下的文件上传送和下载
(1) 输入服务器的地址: 路径和目录名
(2) 列出服务器中有哪些文件: opendir readdir
(3) 输入从服务器下载的文件名 或 上传文件到服务器的文件名
(4) 文件下载 或 文件上传送
文件IO: open read write close
标准IO fopen fputs fgets fputc fgetc fread fwrite fclose
2. 代码
#include "stdio.h"#include "sys/types.h"#include "dirent.h"#include "string.h"#include "unistd.h"#include "fcntl.h"int main(int argc, char *argv[]){DIR *dp;int fd;struct dirent *dir;char server[128] = {0};int src_fd,des_fd;char file[128]={0};char buf[128]={0};int ret;start:printf("please input server PATH and Directory name\n");scanf("%s",server);//list server filesdp = opendir(server);if(dp == NULL){printf("open server %s error\n",server);goto start;}printf("open server %s success\n",server);//read server dirwhile(1){dir = readdir(dp);if(dir == NULL){break;}else{printf("inode=%ld name =%s\n",dir->d_ino,dir->d_name);}}printf("please input download file\n");scanf("%s",file);//open server filesrc_fd = open(strcat(strcat(server,"/"),file),O_RDONLY);if(src_fd < 0){printf("open download file :%s\n",file);return -1;}printf("open download file %s success\n",file);des_fd = open(file,O_CREAT | O_WRONLY,0777);if(des_fd < 0){printf("create file %s error\n",file);return -2;}printf("create file %s success\n",file);while(1){ret = read(src_fd,buf,128);if(ret < 128){break;}write(des_fd,buf,ret);}write(des_fd,buf,ret);close(des_fd);close(src_fd);closedir(dp);return 0;}
0 0
- 20 课程总结,单机模式下的文件上传与下载
- shell 模式下tftp下载上传文件的命令
- 文件的上传与下载--->张国亮总结心得第一季
- 文件的上传与下载--->张国亮总结心得第二季
- Struts2下多文件的上传与下载
- Struts2下多文件的上传与下载
- Struts2下多文件的上传与下载
- Struts2下多文件的上传与下载
- spring+springMVC+mybatise下 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 文件的上传与下载
- 博主自传
- 【蓝桥杯单片机组】超声波模块
- 父类引用指向子类对象
- Spring Security 4.x 启用BCrypt加密
- LeetCode OJ 207. Course Schedule
- 20 课程总结,单机模式下的文件上传与下载
- Git基本知识
- 如何设置虚拟机才能上网?
- PAT 1018. Public Bike Management
- 网页全截图实现
- opencv基本数据类型
- git分支
- Spring四种依赖注入方式
- Python CSV文件合并