技术标签: read Linux linux 读写文件 write
ssize_t read(int fd, void *buf, size_t count);
//将文件中的数据读入内存
ssize_t write(int fd, const void *buf, size_t count);
//把内存中的数据写入到文件里
实现文件拷贝:
输入以下命令查看函数帮助文档:
man 2 read/write
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
编写copyfile.c:
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main() {
// 1. 通过open打开english.txt文件,只读
int srcfd = open("english.txt", O_RDONLY);
if(srcfd == -1) {
perror("open");
return -1;
}
// 2. 创建一个新的文件(拷贝文件),只写
int destfd = open("cpy.txt", O_WRONLY | O_CREAT, 0664);
if(destfd == -1) {
perror("open");
return -1;
}
// 3. 频繁的读写操作
// 创建缓冲区
char buf[1024] = {
0};
int len = 0;
while(( len = read(srcfd, buf, sizeof(buf)) ) > 0 ) {
// 每读一次数据,就写入到拷贝文件中
write(destfd, buf, len);
}
// 4. 关闭文件
close(srcfd);
close(destfd);
return 0;
}
在终端中GCC编译并运行,得到拷贝文件cpy.txt
fuerer@fuerer-virtual-machine:~/Linux/lesson10$ ls
copyfile.c english.txt
fuerer@fuerer-virtual-machine:~/Linux/lesson10$ gcc copyfile.c -o copy
fuerer@fuerer-virtual-machine:~/Linux/lesson10$ ls
copy copyfile.c english.txt
fuerer@fuerer-virtual-machine:~/Linux/lesson10$ ./copy
fuerer@fuerer-virtual-machine:~/Linux/lesson10$ ll
总用量 280
drwxrwxr-x 2 fuerer fuerer 4096 3月 24 10:31 ./
drwxrwxr-x 11 fuerer fuerer 4096 3月 24 10:02 ../
-rwxrwxr-x 1 fuerer fuerer 8528 3月 24 10:31 copy*
-rw-rw-r-- 1 fuerer fuerer 1792 3月 24 10:31 copyfile.c
-rw-rw-r-- 1 fuerer fuerer 129772 3月 24 10:31 cpy.txt
-rw-rw-r-- 1 fuerer fuerer 129772 3月 24 10:21 english.txt
cpy.txt与english.txt大小均为 129772 个字节
文章浏览阅读4.5w次,点赞69次,收藏630次。回归分析的介绍与分类回归分析的任务是:通过研究自变量X和因变量Y的关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的三个关键字:相关性、因变量Y、自变量X常见的回归分析有五类(划分的依据是因变量Y的类型): 线性回归:因变量Y为连续性数值变量,例如GDP的增长率 0-1回归:因变量Y为0-1型变量,例如P2P公司研究借款人是否能按时还贷,那么Y可以设计为二值变量,Y=0时代表可以还贷,Y=1时代表不能还贷 定序回归:因变量Y为定序变量,例如1表示不喜欢,2._stata多元回归
文章浏览阅读1.2k次。一、准备工作 1、安装ant,并配置环境变量 2、下载CMake,我这边用的是CMAKE GUI 3、下载opencv源码 这是下载地址 二、开始 之前尝试过用brew直接安装ant,均提示404并试过,后面实在没有办法就直接去了这里下载,如图: 下载解压,然后通过【终端】配置..._opencv源码java
文章浏览阅读735次。中国IDC圈报道,2018年1月16日,上海有孚网络股份有限公司(以下简称有孚网络)北京永丰E-Data云计算数据中心荣获国家CQC A级机房认证和国内首个国际LEED绿建金牌认证,CQC中国质量认证中心肖处长、美国绿色建筑委员会(USGBC)和绿色事业认证公司(GBCI)总裁兼首席执行官马晗、中国计量科学研究院武主任、有孚网络CEO安柯、有孚网络CS..._cqc 数据中心a级认证
文章浏览阅读103次。消息,红点创投中国基金(下简称“红点中国”)宣布完成新一期4亿美元基金的募集。其中3亿美元将继续布局TMT行业及其细分领域里优秀的早期项目,约80%以上的资金用于布局A轮及更早阶段的项目。另外1亿美元则是用于加注高潜力高成长的领跑项目。 这是红点中国独立运营两年多以来募集完成的第三支基金。尽管资本环境在过去一段时间内有一些波动,但红点中国团队依然保...
文章浏览阅读3.4w次,点赞10次,收藏18次。问题描述2021.12.16开始必应就打不开了。。解决方案1. 打开主页将原先网址https://cn.bing.com/更换为https://www4.bing.com/2. 更改浏览器默认主页以Chrome为例,打开chrome://settings/onStartup或设置中选择启动时将网址修改为https://www4.bing.com/3. 更改浏览器默认搜索引擎打开网址chrome://settings/searchEngines或设置中选择搜索引擎网址格式添加为htt_必应打不开
文章浏览阅读676次,点赞15次,收藏7次。层次聚类算法是一种无需预先指定簇数的聚类方法,它通过计算样本之间的相似度来构建聚类树,从而得到样本之间的聚类关系。本文介绍了层次聚类算法的原理、步骤以及Python实现的示例代码。通过层次聚类算法,可以对数据集进行探索性分析,发现数据中的内在结构和模式。
文章浏览阅读5.9k次。我们在使用编程软件进行编程时,可能会使用一些特殊字符或者转义字符,这时候如果不注意就会出错从而出现unrecognized character escape sequence的错误比如我今天写’'的时候就出现了该错误,这是因为""在C语言中有特殊的用法**,想要表示"" 就要使用"\"来表示**..._warning: #192-d: unrecognized character escape sequence
文章浏览阅读1k次。近年来,随着深度学习技术的发展,人们对于多模态数据检索的研究和应用越来越受到关注。然而,多模态数据的特点和其间的异质性导致多模态检索面临诸多挑战。本文对基于生成对抗网络的多模态检索方法进行了综述和分析,该方法具有以下特点:通过生成器和判别器编码多样数据并学习它们的共性,在特征提取和多模态匹配两个阶段实现自动化。在特征提取阶段,使用深度学习模型,如卷积神经网络和循环神经网络,提取不同类型数据的特征,并采用多任务学习策略,使提取网络最小化误差并获得低维特征表示。在多模态匹配阶段,通过生成对抗网络将不同类型特征_多模态图像检索算法流程图解
文章浏览阅读71次。代码】力扣315计算右侧小于当前元素的个数。
文章浏览阅读6.9w次,点赞2次,收藏6次。这是网上的错误例子:dicts = [ {'name': 'Michelangelo', 'food': 'PIZZA'}, {'name': 'Garfield', 'food': 'lasanga'}, {'name': 'Walter', 'food': 'pancakes'}, {'name': 'Galactus', ..._polygon' object is not subscriptable
文章浏览阅读776次,点赞18次,收藏20次。systemd unit(单元),systemd方便管理程序,将程序按照特定的功能分成很多单元,服务,单元,写配置。一般来说第一启动项是硬盘,找到硬盘后,会根据mbr的指引 找到完整的grub程序,yum以及rpm安装的软件可以直接使用systemctl去启动关闭,重启,开机自启等功能。加电后biso程序会自检硬件,硬件无故障后,会根据第一启动项去找到内核。移动设备,U盘 移动硬盘 ,光驱。检测硬件是否正常,然后根据biso中的启动项设置,去找内核文件。再根据grub的配置文件找到内核文件的具体位置,
文章浏览阅读742次。html5黑色大气的个人博客全屏滚动个人主页源码。直接上传服务器空间就可使用。_黑色响应式全屏滚动主页源码