write函数如果强行多写的话,会在后面以\0补充
#include <unistd.h>
#include<stdio.h>
#include<error.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<iostream>
#include<string.h>
using namespace std;
int main(int argc,char *argv[])
{
int fd=open("test.txt",O_RDWR);
char fa[20]="Hello World";
int num=write(fd,fa,50);
cout<<"write number: "<<num<<endl;
char re[70];
int fd2=open("test.txt",50);//为什么是fd2?因为只有fd在写完后行标是到文件结尾,直接读fd会得到0
num=read(fd2,re,50);
cout<<"read number: "<<num<<endl;
return 0;
}
执行结果
文档内容
只写指令
#include <unistd.h>
#include<stdio.h>
#include<error.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<iostream>
#include<string.h>
using namespace std;
int main(int argc,char *argv[])
{
int fd=open("test.txt",O_RDWR);
char fa[20]="Hello World";
int num=write(fd,fa,strlen(fa));//这里写的是fa长度
cout<<"write number: "<<num<<endl;
char re[70];
int fd2=open("test.txt",50);//为什么是fd2?因为只有fd在写完后行标是到文件结尾,直接读fd会得到0
num=read(fd2,re,50);
cout<<"read number: "<<num<<endl;
return 0;
}
运行结果
文档内容