Linux 文件编程、时间编程基本函数
2024-08-31 19:53:01
文件编程
文件描述符 fd --->>>数字(文件的身份证,代表文件身份),通过 fd 可找到正在操作或需要打开的文件。
基本函数操作:
1)打开/创建文件
int open (const char* pathname, int flag, mode_t mode)
成功:返回文件的fd 失败:返回-
文件路径 打开标志 文件权限
eg: fd = open("/home/S3-app/test.c", O_RDWR|O_CREAT, );
2)读文件
ssize_t read(int fd, void *buf, ssize_t count)
成功:返回读取字节数 失败:-
要读取的文件fd 读取的数据存到buf指向的空间 希望读取的字节数
int fd; char buf[];
eg: read(fd, buf, 1024);
3)写文件
ssize_t write(int fd,const void *buf, ssize_t count)
成功:返回写入字节数 失败:-
要写入的文件fd 指向要写入的数据的位置地址 希望写入的字节数
int fd; char buf[];
eg: write(fd, "hello", 6);
发送、接收文件
//发送文件内容 先把要发送d 文件数据读到buf中->再通过buf写入发送的目标文件中
while((count=read(fd,(void *)buf,))>) //buf:读取来的数据存到buf指向的空间 希望读取的字节数 返回读取的字节数
{
write(new_fd, &buf,count); //&buf->整个数据数组
}
close(fd); //接收文件内容 先把要接收的数据读到buf中->再通过buf写入接收文件中
while((count=read(new_fd,(void *)buf,))>)//buf:读取来的数据存到buf指向的空间 希望读取的字节数 返回读取的字节数
{
write(fd, &buf,count); //&buf->整个数据数组
tmpsize += count;
if(tmpsize == filesize) break;
}
clode(fd);
Linux时间编程
/* time_t time(NULL) 日历时间--从标准时间到现在的秒数*/
time_t ctime = time(NULL); //不保存数值地址
printf("%d",ctime); int型 /* struct tm *gmtime(time_t *ct) 格林威治时间--世界标准时间*/
/* struct tm *localtime(time_t *ct) 本地时间 (同上)*/
struct tm *tm; //结构体
tm = gmtime(&ctime);
printf("%d:%d",tm->tm_hour,tm->tm_min); struct tm*结构体 /* char* asctime(const struct tm *tm) 以字符串方式显示 */
char* asc;
asc = asctime(tm);
printf("%s", asc); 指针字符串
最新文章
- Java:方法的参数是传值还是传引用
- JMeter入门使用指南
- C# Language Specification
- nodejs爬虫
- [luogu 1880]石子合并
- jquery 1.9里面已经删除了toggle(fn1, fn2)函数
- Android Intent简介
- ajax对文件上传
- Concepts and Tricks In CNN
- 从编译安装Keepalived 到 配置 负载均衡(LVS-DR)
- 用R语言对一个信用卡数据实现logit,GBM,knn,xgboost
- 今天真开心,终于知道怎么打包apk了
- 从零开始学习前端开发 — 6、CSS布局模型
- 系统及DB参数引发的“灾难”
- hdu 1166 线段树(sum+单点修改)
- 第1章 发现端点(Discovery Endpoint) - IdentityModel 中文文档(v1.0.0)
- Java逆向工程SpringBoot + Mybatis Generator + MySQL
- 高斯消元(Gauss消元)
- 记flask连接容联云时提示172001,网络错误
- UVA1616-Caravan Robbers(枚举)
热门文章
- Android零基础入门第78节:四大组件的纽带——Intent
- QML于C++交互之信号与槽(signal&;slot )
- easyui在IE中: SCRIPT1003: 缺少 ':'
- IntelliJ IDEA热部署
- 程序跳过UAC研究及实现思路(两种方法,现在可能都不行了)
- Qt之OpenSSL(有pro文件的路径格式,以及对libeay32和ssleay32的引用)
- C语言实现常用查找算法——二分查找
- vuejs切换导航条高亮路由高亮做法
- MCtalk对话学吧课堂:真正的K12在线教育才刚刚开始
- 中转Webshell 绕过安全狗(一)