前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++fread小解

C++fread小解

作者头像
用户7886150
修改2021-02-14 15:28:08
7360
修改2021-02-14 15:28:08
举报
文章被收录于专栏:bit哲学院

参考链接: C++ fread()

std::fread 

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

 定义于头文件 <cstdio> 

  1 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 的结果值不确定。若只读入部分的元素,则元素值不确定。 

 参数 

  1 buffer  -   指向要读取的数组中首个对象的指针

2 size    -   每个对象的字节大小

3 count   -   要读取的对象数

4 stream  -   读取来源的输入文件流 

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

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

 示例: 

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

  1 2 

 样例代码: 

   1 #include <iostream>

 2 #include <cstdio>

 3 #include <fstream>

 4 #include <vector>

 5 using namespace std;

 6 

 7 int main()

 8 {

 9     freopen("test.txt", "r", stdin);

10 

11     std::vector<char> buf(4); // char 类型的vector, vector初始大小为4

12     std::fread(&buf[0], sizeof buf[0], buf.size(), stdin);

13 

14     for(char n : buf) // c++11

15         std::cout << n;

16 } 

 输出: 

  1 2 

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

转载于:https://www.cnblogs.com/hkxadpall/p/9497965.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档