C++fread小解
2024-09-21 22:54:16
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 手动结束输入。
最新文章
- 翻译-使用Ratpack和Spring Boot打造高性能的JVM微服务应用
- 基于ntp的多服务器时间同步脚本
- css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$(&#39;.float&#39;)
- Cornerstone无法上传静态库文件(.a文件)
- 实现自己的js框架
- angular-xeditable
- python2.7抓取豆瓣电影top250
- php定时删除文件夹下文件(清理缓存文件)
- aix installp软件包管理工具
- jquery结合Highcharts插件实现动态数据仪表盘图形化显示效果
- 九、cocos2dx之Actions
- PHP类中的七种语法说明
- 关于 百度 Ueditor 上传图片时 打开文件夹的延迟问题
- ExportExcel
- Java Web项目(Extjs)报错三
- android 签名
- JVM(三)对象的生死判定和算法详解
- 剑指Offer 64. 滑动窗口的最大值 (其他)
- BZOJ4669抢夺(费用流+二分答案)
- java和c#值类型和引用类型
热门文章
- 【原创】使用批处理脚本生成包并自动上传到nuget
- 资深架构师Sum的故事:正则!入门就是这样简单
- git Lab ssh方式拉取代码失败
- 判断DataGridView是否选中某行
- 【前端知识体系-CSS相关】CSS特效实现之Transition和Transform对比
- ef+Npoi导出百万行excel之踩坑记
- 使用不同的C++支持库的模块混合开发时,引发异常展开不正常,抛异常竟引出一个SIGSEGV
- 小白学 Python 爬虫(4):前置准备(三)Docker基础入门
- 提高PHP性能效率的几个技巧!
- 20191017-7 alpha week 2/2 Scrum立会报告+燃尽图 06