当前位置:首页 > 代码 > 正文

read源代码(linux read函数源码)

admin 发布:2022-12-19 19:23 157


今天给各位分享read源代码的知识,其中也会对linux read函数源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求标准C语言读写文件的源代码

C语言读写文件 都是三个步骤

1.获取文件描述符

2.对文件读写

3.关闭文件

对文件读操作

//获取文件指针

FILE *pFile = fopen("1.txt","w"); // 文件打开方式 如果原来有内容也会销毁//向文件写数据

fwrite ("hello", //要输入的文字

         1,//文字每一项的大小 以为这里是字符型的 就设置为1 如果是汉字就设置为4

         strlog("hello"), //单元个数 我们也可以直接写5

         pFile //我们刚刚获得到的地址

         );

//fclose(pFile); //告诉系统我们文件写完了数据更新,但是我们要要重新打开才能在写

fflush(pFile); //数据刷新 数据立即更新

对文件写操作

FILE *pFile=fopen("1.txt","r"); //获取文件的指针

char *pBuf;  //定义文件指针

fseek(pFile,0,SEEK_END); //把指针移动到文件的结尾 ,获取文件长度

int len=ftell(pFile); //获取文件长度

pBuf=new char[len+1]; //定义数组长度

rewind(pFile); //把指针移动到文件开头 因为我们一开始把指针移动到结尾,如果不移动回来 会出错

fread(pBuf,1,len,pFile); //读文件

pBuf[len]=0; //把读到的文件最后一位 写为0 要不然系统会一直寻找到0后才结束

MessageBox(pBuf);  //显示读到的数据

fclose(pFile); // 关闭文件

java中read()方法的原理是什么?

既然你能看到这个方法的源代码,那你也应该能看到FilterInputStream类的其它方法的源代码,FilterInputStream类中有十个方法和一个InputStream类型的变量,变量名是in。

十个方法里有九个是重写InputStream类的方法,并且八个是直接调用变量in的同名同参方法,另一个也只是在调用in的方法时填了两个默认参数。

而十个方法中的另一个方法是构造方法,参数是InputStream的,在方法中,直接把这个参数赋给了变量in。

所以FilterInputStream实质上只是对InputStream类做了一个简单的封装,实际调用的方法是在构造方法里传过来的InputStream对象的方法。

所以想看read()方法的具体实现,应给去找InputStream类或InputStream类的子类

求linux下关于c语言的文件操作函数的源代码。也就是open,read之类c源代码。。。

在这里能下载各个版本glibc的源码,里边有open/read这些函数的实现

C语言read函数

read内部是调_read, _read的返回值在msdn中有这样的描述

_read returns the number of bytes read, which might be less than count if there are fewer than count bytes left in the file or if the file was opened in text mode, in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character. Only the single linefeed character is counted in the return value. The replacement does not affect the file pointer.

注意这一段: in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character

就是说如果用text模式打开的话, 文件换行时可能在文本中有2个字符----换行和缩进(CR-LF), 而在return的时候系统是把它作为1个回车符号('\n')所返回的. 所以会导致这个情况

read源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux read函数源码、read源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20162.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载