std::fread

——C++ 输入/输出库 C 风格 I/O

定义于头文件 <cstdio>

 std::size_t fread( void* buffer, std::size_t size, std::size_t count, std::FILE* stream );

从给定输入流 stream 读取至多 count 个对象到数组 buffer 中,如同以对每个对象调用 size 次 std::fgetc ,并按顺序存储结果到转译为 unsigned char 数组的 buffer 中的相继位置。流的文件位置指示器前进读取的字符数。

若出现错误,则 stream 的结果值不确定。若只读入部分的元素,则元素值不确定。

参数

 buffer  -   指向要读取的数组中首个对象的指针
size - 每个对象的字节大小
count - 要读取的对象数
stream - 读取来源的输入文件流

返回值 成功读取的对象数,若出现错误或文件尾条件,则可能小于 count 。

若 size 或 count 为零,则 fread 返回零且不进行其他动作。

示例:

假设程序当前目录下,已将有一个test.txt文件,内容为:

1 2

样例代码:

 #include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
using namespace std; int main()
{
freopen("test.txt", "r", stdin); std::vector<char> buf(); // char 类型的vector, vector初始大小为4
std::fread(&buf[], sizeof buf[], buf.size(), stdin); for(char n : buf) // c++11
std::cout << n;
}

输出:

1 2

警告:在默认从键盘读入时,需用 Ctrl+Z 手动结束输入。

最新文章

  1. 翻译-使用Ratpack和Spring Boot打造高性能的JVM微服务应用
  2. 基于ntp的多服务器时间同步脚本
  3. css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$(&#39;.float&#39;)
  4. Cornerstone无法上传静态库文件(.a文件)
  5. 实现自己的js框架
  6. angular-xeditable
  7. python2.7抓取豆瓣电影top250
  8. php定时删除文件夹下文件(清理缓存文件)
  9. aix installp软件包管理工具
  10. jquery结合Highcharts插件实现动态数据仪表盘图形化显示效果
  11. 九、cocos2dx之Actions
  12. PHP类中的七种语法说明
  13. 关于 百度 Ueditor 上传图片时 打开文件夹的延迟问题
  14. ExportExcel
  15. Java Web项目(Extjs)报错三
  16. android 签名
  17. JVM(三)对象的生死判定和算法详解
  18. 剑指Offer 64. 滑动窗口的最大值 (其他)
  19. BZOJ4669抢夺(费用流+二分答案)
  20. java和c#值类型和引用类型

热门文章

  1. 【原创】使用批处理脚本生成包并自动上传到nuget
  2. 资深架构师Sum的故事:正则!入门就是这样简单
  3. git Lab ssh方式拉取代码失败
  4. 判断DataGridView是否选中某行
  5. 【前端知识体系-CSS相关】CSS特效实现之Transition和Transform对比
  6. ef+Npoi导出百万行excel之踩坑记
  7. 使用不同的C++支持库的模块混合开发时,引发异常展开不正常,抛异常竟引出一个SIGSEGV
  8. 小白学 Python 爬虫(4):前置准备(三)Docker基础入门
  9. 提高PHP性能效率的几个技巧!
  10. 20191017-7 alpha week 2/2 Scrum立会报告+燃尽图 06