c语言中fread与select之比较

问题描述

c语言中fread与select之比较

请问诸位达人,C语言中的select函数支持超时,那么用select来进行文件的I/O和fread/fwrite相比 速度上有什么区别吗?是否具备更多优势呢? p.s. 一些大的集群用的磁盘都是远程盘阵,都是通过交换机进行文件IO的。

解决方案

select是socket中用于文件描述符的I/O是否有效,fread是文件流读取,两者功能不同,没有什么可比性

时间: 2024-09-17 00:43:07

c语言中fread与select之比较的相关文章

c语言-C语言中select函数 应用于网络存储中配合fread/fwrite是否存在阻塞问题

问题描述 C语言中select函数 应用于网络存储中配合fread/fwrite是否存在阻塞问题 利用fread fwrite 读写网络存储上的文件时,是否会出现阻塞问题? 我的感觉是会出现但是无法通过select判断,因为select判断的是内容是否存在,就是文件是否存在,而对于文件fread fwrite没有发现文件也会报错 但是一旦文件存在开始读写以后发生了网络传输中断引起阻塞 那么还是会挂住 而所谓的非阻塞机制无法发挥作用 不知道我的理解是否正确? 谢谢大家发表看法. 解决方案 阻塞和非

Go语言中Select语句用法实例_Golang

本文实例讲述了Go语言中Select语句用法.分享给大家供大家参考.具体分析如下: select 语句使得一个 goroutine 在多个通讯操作上等待. select 会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分支.当多个都准备好的时候,会随机选择一个. 复制代码 代码如下: package main import "fmt" func fibonacci(c, quit chan int) {         x, y := 1, 1         for {

c-C语言中的fread与fwrite问题

问题描述 C语言中的fread与fwrite问题 我自己自定义了一个结构体 typedef struct histgramData { CString picPath;//图片路径 CvHistogram value;//图片的直方图特征 }CHistogramData; 然后使用fwrite将其写入文件 FILE *fp; if((fp=fopen("histogram.dat","a+b"))==NULL)//以追加方式打开二进制文件 {return false

ASP中用select case代替其他语言中的switch case, default用case else_应用技巧

asp中不能用switch语句,要用select case语句了 简单的介绍一下 选择报表的工作一样,如果语句.然而不同的是,他们可以检查多个值.当然,你有 多个相同的,如果.. else语句,但是这并不总是最好的方法. 选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签.如果找到匹 配,程序执行相关的声明.对于SELECT语句的语法如下: select case expression case label_1 statements_1 case label_2 statements

ASP中用select case代替其他语言中的switch case, default用case else

asp中不能用switch语句,要用select case语句了 简单的介绍一下 选择报表的工作一样,如果语句.然而不同的是,他们可以检查多个值.当然,你有 多个相同的,如果.. else语句,但是这并不总是最好的方法. 选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签.如果找到匹 配,程序执行相关的声明.对于SELECT语句的语法如下: select case expression case label_1 statements_1 case label_2 statements

文件传输-C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码?

问题描述 C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码? C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码? 如何改正?#include#include#define N 3 void main(){typedef struct student{ char id[6]; char name[8]; int age;}STU;FILE *fp;STU stu1[N]stu2[N];if((fp=fopen(""

数据类型-c语言中,二进制文件中怎样判断的各个数据的类型

问题描述 c语言中,二进制文件中怎样判断的各个数据的类型 我有一个二进制文件,包含各种数字,stirng char.但是我不知道里面的各个数据的类型,只知道各个数据的名字.然后怎么判断各个数据的类型.(比如 8bit 的 char, 16 bit 的 boolean 之类的)然后再转成要求的数据类型输出(printf). 我打算先用fread一条一条读取这些文件到结构体数组中,.主要问题是我不知道各个数据的类型,用不了fread!!! 老师给的提示是说,先把二进制文件转成十六进制或其他格式 查看

循环问题-C语言中if函数中的问题

问题描述 C语言中if函数中的问题 #includeint main(){ int num[2][6]={{000000}{000000}}; int i=0j=0mnpz; printf(""Please type 1 for first classPlease type 2 for economy ""); { for(p=1;p<=10;p++) { scanf(""%d""&z); if(z==1&

详解C语言中fseek函数和ftell函数的使用方法_C 语言

fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置.如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0.如果执行失败则不改变stream指向的位置,函数返回一个非0值. 超出文件末尾位置,还是返回0.往回偏移超出首位置,还是返回0,小心使用. 第一个参数stream为文件指针. 第二个参数offset为偏移量,正数表示正向偏移,