Linux基础(五)fread, gets,getchar(),pread,getline(),scanf()
2015-10-12 16:01
561 查看
**
1.size_t fread ( void * buffer , size_t size , size_t count , FILE * stream ) ; 从一个文件流 stream 中读数据到 buffer( buffer )
,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。
2. gets(char * buffer ): 从stdin流中读取 字符串 ,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer 指针 所指向的字符 数组
中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
3.int getchar(): #define getchar() getc(stdin), 返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
4. ssize_t pread(int fd , void * buf , size_t count , off_t offset ); 从 文件描述符 fd 读数据到 buffer,从 读取地址(=文件开始+offset) 最多读取count个元素, 执行后, 文件偏移
指针不变。返回成功读取数据的字节数;失败,返回-1;
5. ssize_t getline(char **lineptr, size_t *n, FILE *stream); lineptr: ; 从 文件流 stream 读数据到 lineptr( 如果是NULL,则有系统帮助malloc,请在使用完成后free释放,
如果是由系统malloc的指针,n请填0 ) ,
直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。 , 执行后, 文件偏移
指针不变。返回成功读取数据的字节数;失败,返回-1;
6.scanf 显然 pread的文件描述符不一样
原题链接
http://www.nowcoder.com/test/question/done?tid=1747315&qid=25450#summary
相关文章推荐
- linux常见命令
- centos 安装 git
- Linux基础(七)内核线程和用户线程
- linux 64bit 编译SDL1的问题
- Centos关闭Ctrl+Alt+Del快捷键防止重新启动
- 文章标题
- Linux编程推荐书籍
- 在linux下使用find命令时,报错:find: missing argument to `-exec'
- linux安装配置solr
- linux同步系统时间
- Centos6.x搭建lnmp环境
- Linux设置开机等待时间
- centos7安装mysql
- Linux初学——设置启动载入、建立虚拟内存
- centos7 搭建ntp时钟服务
- Centos 安装python BeautifulSoup模块(实践)
- 开发板挂载到Linux中
- system执行linux命令通过返回值判断是否成功
- Centos7安装杀毒软件ClamAV
- centos安装FreeRadius。错误Refusing to start with libssl version OpenSSL 1.0.1e-fips 11 Feb 2013 解决办法