c write函数(C语言中的Write函数)

:暂无数据 2026-10-01 08:00:02 :0

c write函数(C语言中的Write函数)

大家好,今天小编来为大家解答以下的问题,关于c write函数,C语言中的Write函数这个很多人还不知道,现在让我们一起来看看吧!

本文目录

C语言中的Write函数

write()写文件函数

原形:int write(int handle,char *buf,unsigned len)

功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。

对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中。

扩展资料:

用法

头文件:《unistd.h》

write有两种用法。一种是:ssize_t write(int fd, const void *buf, size_t nbyte);

fd:文件描述符;

buf:指定的缓冲区,即指针,指向一段内存单元;

nbyte:要写入文件指定的字节数;

返回值:写入文档的字节数(成功);-1(出错)

write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.

另一种是: write(const char* str,int n)

str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。

write("string",strlen("string");表示输出字符串常量

write写出常见的输入格式有

write写出常见的输入格式为f.write()。write函数是C语言函数。C语言函数是一种函数,用来编译C语言,所在库函数为ctype.h,分为分类函数,数学函数,目录函数,进程函数,诊断函数,操作函数等。

c语言 write()、read()函数原型

把指定数量的数据写入文件,若成功则返回写入的字节数,否则返回-1
int _write( int handle, const void *buffer, unsigned int count );
这个例子中把字符串“hello”写入文件sample.txt中:
int Handle; char String="hello";
Handle = _open("sample.txt",_O_RDWR|_O_CREAT);
_write(Handle,String,sizeof(String));
_close(Handle);

从一个文件读取数据
int _read( int handle, void *buffer, unsigned int count );
这个例子中打开文件eof.c,每次读取10个字节,直到全部字节被读完为止,然后显示文件的长度:
void main( void ) {
int fh, count, total = 0;
char buf;
if( (fh = _open( "eof.c", _O_RDONLY )) == - 1 ) {
perror( "Open failed");
exit( 1 );
}
while( !_eof( fh ) ) {
if( (count = _read( fh, buf, 10 )) == -1 ) {
perror( "Read error" );
break;
}
total += count;
}
printf( "Number of bytes read = %d\n", total );
_close( fh );
}

在C语言中要用到write和read函数要用到什么头文件

1、要用到unistd.h头文件。

2、 Write函数
  用法:
  write函数所在的头文件为 《unistd.h》
  write有两种用法。一种是:
  ssize_twrite(int handle, void *buf, int nbyte);
  handle 是文件描述符;
  buf是指定的缓冲区,即指针,指向一段内存单元;
  nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成功);-1(出错)
  write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.
  另一种是:write(const char* str,int n)
  str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。
  write("string",strlen("string");表示输出字符串常量
3、程序示例:

  #include 《stdio.h》
  #include 《stdlib.h》
  #include 《fcntl.h》
  #include 《sys\stat.h》
  #include 《io.h》
  #include 《string.h》
  int main(void)
  {
  int *handle; char string;
  int length, res;/* Create a file named "TEST.$$$" in the current directory and write a string to it. If "TEST.$$$" already exists, it will be overwritten. */
  if ((handle = open("TEST.$$$", O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE)) == -1)
  {
  printf("Error opening file.\n");
  exit(1);
  }
  strcpy(string, "Hello, world!\n");
  length = strlen(string);
  if ((res = write(handle, string, length)) != length)
  {
  printf("Error writing to the file.\n");
  exit(1);
  }
  printf("Wrote %d bytes to the file.\n", res);
  close(handle); return 0; }

C语言 write和read语句的基本用法

  1、函数名: write

  表头文件:#include《unistd.h》

  定义函数:ssize_t write (int fd,const void * buf,size_t count);

  函数说明:write()会把指针buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。

  返回值:如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。

  错误代码:

  EINTR 此调用被信号所中断。

  EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。

  EBADF 参数fd非有效的文件描述词,或该文件已关闭。

  程序例:

#include《stdlib.h》
#include《unistd.h》
#include《stdio.h》
#include《string.h》
#include《fcntl.h》
#include《errno.h》
intmain(void)
{
inthandle;
charstring;
intlength,res;
/*
Createafilenamed"TEST.$$$"inthecurrentdirectoryandwrite
astringtoit.If"TEST.$$$"alreadyexists,itwillbeoverwritten.
*/
if((handle=open("TEST.$$$",O_WRONLY|O_CREAT|O_TRUNC,
S_IREAD|S_IWRITE))==-1)
{
printf("Erroropeningfile.\n");
exit(1);
}
 
strcpy(string,"Hello,world!\n");
length=strlen(string);
 
if((res=write(handle,string,length))!=length)
{
printf("Errorwritingtothefile.\n");
exit(1);
}
 
printf("Wrote%dbytestothefile.\n",res);
close(handle);
return0;
}
 
structxfcb{
charxfcb_flag;/*Contains0xfftoindicatexfcb*/
charxfcb_resv;/*ReservedforDOS*/
charxfcb_attr;/*Searchattribute*/
structfcbxfcb_fcb;/*Thestandardfcb*/
};

  2、函数名: read

  表头文件:#include《unistd.h》

  定义函数:ssize_t read(int fd,void * buf ,size_t count);

  函数说明:read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。

  附加说明:如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。

  错误代码:

  EINTR 此调用被信号所中断。

  EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。

  EBADF 参数fd 非有效的文件描述词,或该文件已关闭。

  程序例:

#include
#include
#include
#include
#include
#include
int main(void)
{
void *buf;
int handle, bytes;
buf = malloc(10);
/*
Looks for a file in the current directory named TEST.$$$ and attempts
to read 10 bytes from it. To
}
if ((bytes = read(handle, buf, 10)) == -1) {
printf("Read Failed.\n");
exit(1);
}
else {
printf("Read: %d bytes read.\n", bytes);
}
return 0;

C语言中的Write函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于C语言中的Write函数、C语言中的Write函数的信息别忘了在本站进行查找哦。

c write函数(C语言中的Write函数)

本文编辑:admin

更多文章:


withdrawal(withdrawal是什么意思)

withdrawal(withdrawal是什么意思)

今天给各位分享withdrawal是什么意思的知识,其中也会对withdrawal是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 07:00

根据流程图怎么编写程序(用c语言根据流程图写程序)

根据流程图怎么编写程序(用c语言根据流程图写程序)

大家好,今天小编来为大家解答以下的问题,关于根据流程图怎么编写程序,用c语言根据流程图写程序这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 06:00

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

大家好,关于在from子句中可以出现很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在from 子句中嵌套查询下面的语句在access中出错!的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望

2026年10月11日 05:20

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

其实countif函数统计个数怎么用的问题并不复杂,但是又很多的朋友都不太了解countif函数怎么用 详解Excel中countif函数的使用方法,因此呢,今天小编就来为大家分享countif函数统计个数怎么用的一些知识,希望可以帮助到大

2026年10月11日 03:30

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

本篇文章给大家谈谈正则匹配数字之前的字符,以及正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问

2026年10月11日 03:00

register语言学(register语言学)

register语言学(register语言学)

“register语言学”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看register语言学(register语言学)!

2026年10月11日 01:40

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

“系统架构设计师可以直接考吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)!

2026年10月11日 01:00

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

大家好,如果您还对orlnsertbootmediinselected不太了解,没有关系,今天就由本站为大家分享orlnsertbootmediinselected的知识,包括我电脑开机显示这个是什么意思or insert boot med

2026年10月10日 23:00

display的用法(display是什么意思 详解display的含义和用法)

display的用法(display是什么意思 详解display的含义和用法)

大家好,如果您还对display的用法不太了解,没有关系,今天就由本站为大家分享display的用法的知识,包括display是什么意思 详解display的含义和用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 22:00

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

大家好,今天小编来为大家解答以下的问题,关于html全部居中代码,怎么让网页居中显示,html如何让网页居中这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 21:10

最近更新

西数5000aakx(西数WD-5000AAKX-001CAO和西数800AAJS-00WAAO哪个做安装系统盘比较好)
2026-10-11 08:30:05 浏览:0
热门文章

标签列表