标签:文件 读取 int 写入 write fd file include buf
头文件:
#include <unistd.h>
1.写入文件
write函数
ssize_t write(int fd, const void *buf, size_t count);
write() writes up to count bytes from the buffer pointed buf to the file referred to by the file descriptor fd.
代码如下(示例):
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main()
{
int fd;
char *buf = "I am handsome";
fd = open("./file",O_RDWR);
if(fd == -1){
printf("open file failed\n");
fd = open("./file",O_RDWR|O_CREAT,0600);
if(fd > 0)
{
printf("open file success\n");
}
}
printf("fd = %d\n",fd);
//ssize_t write(int fd, const void *buf, size_t count);
write(fd,buf,strlen(buf));
//int close(int fd);
close(fd);
return 0;
}
2.读取文件
read函数
ssize_t read(int fd, void *buf, size_t count);
代码如下(示例):
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int fd;
char *buf = "I am handsome";
fd = open("./file",O_RDWR);
if(fd == -1){
printf("open file failed\n");
fd = open("./file",O_RDWR|O_CREAT,0600);
if(fd > 0)
{
printf("open file success\n");
}
}
printf("fd = %d\n",fd);
//ssize_t write(int fd, const void *buf, size_t count);
int n_write = write(fd,buf,strlen(buf));
if(n_write != -1){
printf("write %d byte to file\n",n_write);
}
close(fd);
open("./file",O_RDWR);
// ssize_t read(int fd, void *buf, size_t count);
char *readbuf;
readbuf = (char *)malloc(sizeof(char)*n_write + 1);
int n_read = read(fd,readbuf,n_write);
printf("read %d , text: %s\n",n_read,readbuf);
close(fd);
return 0;
}
3,1 Top
write函数执行完后光标会移到最后,此时read读取的内容为空。
可通过重新打开文件或移动光标使光标到文件头位置
标签:文件,读取,int,写入,write,fd,file,include,buf 来源: https://blog.csdn.net/qq_51972322/article/details/114388323
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。