当前位置: 首页 > news >正文

文件IO练习

一、用read函数完成文件大小计算

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{int fd = open("./1.txt",O_RDONLY);if(fd < 0){perror("open");return -1;}printf("open success!\n");off_t size = lseek(fd,0,SEEK_END);printf("size=%ld\n",size);char c;ssize_t res = 0;int count = 0;lseek(fd,0,SEEK_SET);while(1){res = read(fd,&c,1);if(0 == res)break;count++;}printf("count=%d\n",count);if(close(fd) < 0){perror("close");return -1;} printf("close success!\n");return 0;
}

二、将文件权限提取修改成循环方式

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <time.h>
void get_filePermission(mode_t m)
{long x = 0400;char c[]="rwx";int count = 0; while(x){if((m & x) == 0)putchar('-');elseprintf("%c",c[count%3]);count++;x = x >> 1;}putchar(' ');
}
int main(int argc, const char *argv[])
{struct stat buf;if(stat("./1.txt",&buf) < 0){perror("stat");return -1;}printf("0%o ",buf.st_mode);get_filePermission(buf.st_mode);printf("%ld ",buf.st_nlink);printf("%d ",buf.st_uid);printf("%d ",buf.st_gid);printf("%ld ",buf.st_size);struct tm *info=NULL;info = localtime(&buf.st_mtime);
//	printf("%ld ",buf.st_ctime);printf("%d-%02d-%02d %02d:%02d:%02d\n",info->tm_year+1900,info->tm_mon+1,info->tm_mday,info->tm_hour,info->tm_min,info->tm_sec);return 0;
}

相关文章:

文件IO练习

一、用read函数完成文件大小计算 #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, const char *argv[]) {int fd open("./1.tx…...

初识FreeRTOS入门,对FreeRTOS简介、任务调度、内存管理、通信机制以及IO操作,控制两个led不同频率闪烁

当代嵌入式系统的开发越来越复杂&#xff0c;实时性要求也越来越高。为了满足这些需求&#xff0c;开发者需要使用实时操作系统&#xff08;RTOS&#xff09;&#xff0c;其中一个流行的选择是FreeRTOS&#xff08;Free Real-Time Operating System&#xff09;。本篇博客将详细…...

STM32CUBUMX配置FLASH(W25Q128)--保姆级教程

———————————————————————————————————— ⏩ 大家好哇&#xff01;我是小光&#xff0c;嵌入式爱好者&#xff0c;一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子&#xff0c;使用STM32CUBEMX做了很多驱动&#x…...

【Golang 接口自动化04】 解析接口返回JSON串

目录 前言 解析到结构体 json数据与struct字段是如何相匹配的呢&#xff1f; 解析到interface Go类型和JSON类型 实例代码 simpleJson 总结 资料获取方法 前言 上一次我们一起学习了如何解析接口返回的XML数据&#xff0c;这一次我们一起来学习JSON的解析方法。 JSO…...

EPPlus与Microsoft.Office.Interop.Excel的使用区别

文章目录 代码的使用区别EPPlus的工作原理Microsoft.Office.Interop.Excel的使用原理代码的使用区别 static void ExportToExcel(List<(string, double, double)> list, string outputFilePath){//Microsoft.Office.Interop.Excel的使用 /* Excel.Application excelAp…...

ncrack工具使用说明

介绍 网络认证破解工具。 Ncrack是用于网络身份验证破解的开源工具。 它设计为使用可适应不同网络情况的动态引擎进行高速并行破解。 Ncrack还可以针对特殊情况进行广泛的微调,尽管默认参数的通用性足以覆盖几乎所有情况。 它建立在模块化架构上,可以轻松扩展以支持其他协议…...

第二章:进程管理(处理机/CPU管理)

文章目录 2.1 进程与线程1.进程(1)进程的概念、进程的组成、进程的组织(2)进程控制块PCB(3)进程的状态与转换:五状态模型(4)进程控制(5)进程间的通信①共享存储②消息传递③管道通信(6)父进程与子进程(7)进程的内存空间2.线程 Thread(1)线程的概念(2)线程的实现方式:用户级线…...

MySQL中锁的简介——表级锁-元数据锁、意向锁

1.元数据锁 查看元数据锁 select object_type,object_scheme,object_name,lock_type,lock_duration from perfomance_scheme.metadata_locks;2.意向锁 线程A开启事务后在执行update更新语句时候&#xff0c;会给数据加上行锁&#xff0c;加上行锁以后&#xff0c;会对整张表加…...

React几种避免子组件无效刷新的方案

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 前言 一个很常见的场景&#xff0c;React中父组件和子组件在一起&#xff0c;子组件不依赖于父组件任何数据&#xff0c;但是会一起发生变化。 在探究原…...

分享亿款好用的PDF编辑工具

所周知&#xff0c;PDF文件是不能够像word/excel/ppt等文件一样&#xff0c;可以被随意编辑的&#xff0c;PDF文件往往只能够被查看&#xff0c;我们无法对它进行编辑&#xff0c;或者对上面的文字进行复制&#xff0c;也不能任意删除上面的页面。但是很多时候&#xff0c;我们…...

AI生成式视频技术来临:Runway Gen-2文本生成视频

Runway Gen-2的官方网站提供了一种文本生成视频的工具。以下是对该工具的介绍&#xff1a; 文本生成视频&#xff1a;Runway Gen-2是一个创新的在线工具&#xff0c;可以将文本转化为视频。用户只需输入文本描述或句子&#xff0c;Runway Gen-2就能自动生成相应的视频内容。这…...

react钩子函数

React组件的生命周期包括多个阶段和方法&#xff0c;用于在组件不同的生命周期时执行特定的操作。以下是React类组件中常见的生命周期方法&#xff1a; 挂载阶段&#xff08;Mounting Phase&#xff09;&#xff1a; constructor&#xff1a;组件实例化时调用&#xff0c;用于初…...

RISC-V公测平台发布 · 如何在SG2042上玩转k3s

前言 Kubernetes是一个开源的容器管理平台&#xff0c;通过Kubernetes的跨集群管理功能&#xff0c;用户可以方便地进行应用程序的复制、迁移和跨云平台的部署。 而k3s作为Kubernetes的轻量级发行版&#xff0c;相比传统的Kubernetes具有更小的二进制文件大小和更低的资源消耗…...

Linux系统常见小问题

1、新系统在输入命令时&#xff0c;不会自动提示&#xff0c;按上箭头&#xff08;↑&#xff09;和下向下箭头&#xff08;↓&#xff09;不会匹配之前的输入 以CentOS 为例&#xff0c;可以通过配置 ~/.bashrc 文件来实现按向上箭头显示最相近的命令。以下是具体的实现步骤 …...

WEB:mfw

背景知识 Git泄露 Githack使用 命令执行漏洞 题目 这里页面里有Git&#xff0c;猜测是Git泄露 先用dirsearch扫一下 确实存在.git目录&#xff0c;可以尝试访问一下 使用Githack来下载并恢复.git文件 这里记得使用的时候关闭杀毒软件 结果会自动保存 点进去先看一下flag这个…...

2.4 传统经验光照模型详解

一、光照模型 光照模型&#xff08;illumination model&#xff09;&#xff0c;也称为明暗模型&#xff0c;用于计算物体某点处的光强&#xff08;颜色值&#xff09;。从算法理论基础而言&#xff0c;光照模型分为两类&#xff1a;一种是基于物理理论的&#xff0c;另一种是…...

基于高通QCC5171的对讲机音频数据传输系统设计

一 研发资料准备 二 设计方法 蓝牙连接与配对&#xff1a;使用QCC5171的蓝牙功能&#xff0c;实现设备之间的蓝牙连接和配对。确保设备能够相互识别并建立起稳定的蓝牙连接。 音频采集与处理&#xff1a;将麦克风采集到的音频数据通过QCC5171的ADC&#xff08;模数转换器&…...

【题解】判断链表中是否有环、链表中环的入口结点

文章目录 判断链表中是否有环链表中环的入口结点 判断链表中是否有环 题目链接&#xff1a;判断链表中是否有环 解题思路1&#xff1a;快慢指针 代码如下&#xff1a; bool hasCycle(ListNode *head) {if(head nullptr) return false;ListNode* fast head;ListNode* slow …...

Pytorch 最全入门介绍,Pytorch入门看这一篇就够了

本文通过详细且实践性的方式介绍了 PyTorch 的使用&#xff0c;包括环境安装、基础知识、张量操作、自动求导机制、神经网络创建、数据处理、模型训练、测试以及模型的保存和加载。 1. Pytorch简介 在这一部分&#xff0c;我们将会对Pytorch做一个简单的介绍&#xff0c;包括它…...

Lambda 表达式的作用域

在Lambda表达式中访问外层作用域和旧版本的匿名对象中的方式类似。你可以直接访问标记了final的外层局部变量&#xff0c;或者实例的字段以及静态变量。 Lambda表达式不会从超类&#xff08;supertype&#xff09;中继承任何变量名&#xff0c;也不会引入一个新的作用域。Lambd…...

Python爬虫实战:构建博物馆藏品数字档案(列表到详情深度采集)

㊗️本期内容已收录至专栏《Python爬虫实战》&#xff0c;持续完善知识体系与项目实战&#xff0c;建议先订阅收藏&#xff0c;后续查阅更方便&#xff5e; ㊙️本期爬虫难度指数&#xff1a;⭐⭐⭐ (进阶) &#x1f250;福利&#xff1a; 一次订阅后&#xff0c;专栏内的所有文…...

seaborn实践

本文章基于豆包整理了使用seaborn生成若干典型图表的示例代码&#xff0c;可供学习seaborn使用。一、图表结果预览二、测试数据生成生成了两组数据&#xff0c;一组是银行贷款存款数据&#xff0c;一组是学生成绩数据&#xff0c;生成数据代码如下&#xff1a;-- 1. 创建数据库…...

SQLite Viewer:3分钟学会在线查看SQLite数据库的终极方案

SQLite Viewer&#xff1a;3分钟学会在线查看SQLite数据库的终极方案 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 想象一下&#xff0c;你收到一个SQLite数据库文件&#xff0c;需要立即查看其…...

【Midjourney拍立得风格终极指南】:3步零代码复刻宝丽来胶片质感,92%用户首次尝试即出片

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;拍立得风格的视觉基因解码 拍立得影像的独特魅力&#xff0c;源于其不可复制的物理化学反应与即时成像机制——泛黄边框、柔和渐晕、微妙色偏与颗粒噪点共同构成了一套高度识别性的视觉语法。这种“不…...

如何找到最适合你的私有化IM?

跳出公有云的舒适区&#xff0c;决心搭建私有化IM&#xff0c;并不是一件能一蹴而就的事。市面上打着私有化旗号的软件鱼龙混杂&#xff0c;有的安装环境要求极高&#xff0c;有的功能华而不实。如何在复杂的选型迷雾中&#xff0c;找到最适合组织基因的那一款&#xff1f;你可…...

深度学习工程化实战:从论文思想到可部署代码的七步法

1. 项目概述&#xff1a;这不是一份“论文清单”&#xff0c;而是一份深度学习演进的实操路线图你有没有过这种感觉&#xff1a;打开一篇讲“深度学习里程碑论文”的文章&#xff0c;满屏都是《AlexNet》《ResNet》《Transformer》这些名字&#xff0c;配着几句“开创性”“革命…...

Autosar诊断开发避坑指南:CANFD升级后ECU不响应?可能是你的CANTP帧头格式搞错了!

Autosar诊断开发实战&#xff1a;CANFD升级中的CANTP帧头陷阱与精准避坑策略 当传统CAN网络向CANFD迁移时&#xff0c;诊断协议栈的适配问题往往成为工程师的"午夜噩梦"。我曾亲眼见证一个团队花费两周时间追踪ECU无响应问题&#xff0c;最终发现仅仅是CANTP层单帧格…...

LERF技术解析:基于NeRF与CLIP的3D场景语言查询与语义分割

1. 项目概述&#xff1a;当NeRF遇见自然语言最近在三维重建和生成领域&#xff0c;一个名为LERF&#xff08;Language Embedded Radiance Fields&#xff09;的技术组合引起了不小的关注。简单来说&#xff0c;它做了一件听起来很科幻的事&#xff1a;你给一段文字描述&#xf…...

BurpBounty入门指南:如何快速提升Burp Suite扫描能力

BurpBounty入门指南&#xff1a;如何快速提升Burp Suite扫描能力 【免费下载链接】BurpBounty Burp Bounty (Scan Check Builder in BApp Store) is a extension of Burp Suite that allows you, in a quick and simple way, to improve the active and passive scanner by mea…...

CANN/asc-devkit Ascend C矢量压缩API

asc_squeeze 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.co…...