ChinaUnix.net
相关文章推荐:

fread函数读写二进制文件

我知道有这样一种技术: struct sample{ /*...*/ char filename[1]; }; 那个filename的长度是未知的,但是整个结构体的大小已知.于是malloc一个这样大小的sample,那个filename也就"自动"变成了一个字符串. 我的问题是,如果要使用这种方法直接读取进制内容,那是不是一定要注意修改编译器的对齐值? 再者, 除了编译器的对齐值可能影响读取是否成功,还有哪些因素也会影响?比如说,指针的大小? 再再者,如果我把一个struct以...

by DingOunan - C/C++ - 2008-09-11 21:28:35 阅读(1530) 回复(0)

相关讨论

fread从头至尾读取进制文件,读一段存一段,我的问题是每次读完一段后需要fseek么? 是不是只要在fopen之后fseek一次就ok了,读取的内容是连续的,存是选择性的,即是不连续的

by lydut - C/C++ - 2008-06-17 00:33:03 阅读(3711) 回复(3)

偶打开的是一个进制文件fread函数读取文件中的内容 读到一个地方,文件指针指向文件头了,而不是继续往下读了。 请问这是怎么回事? 我用的VC6.0,2000系统 读取的是进制文件,刚开始读了一部分,fread还是能正常的读取 数据,就是读到一个特定的位置 出了问题 可是我查看进制文件 没有发现什么异常的数据啊!

by joealec - C/C++ - 2005-01-04 18:25:27 阅读(3390) 回复(2)

引用:   fread(buffer,size,count,fp)   fwrite(buffer,size,count,fp) 其中: size:表示要读写的字节数. 现有一个student_type的结构体数组有40个元素进行如下操作:   fread(&stdu,sizeof(struct student_tpye),1,fp) 问题1;sizeof(struct student_tpye)是求整个结构体的字节数吗? 问题2:为什么要将整个结构体看成一个字节数据项的整体呢?如此类推一个类也能看成一个字节数据项的整体吗?为什么不将里面的每...

by your1982 - C/C++ - 2004-12-27 09:04:06 阅读(10367) 回复(1)

各位大虾,在linux下有没有支持64位fseek,fread文件操作的C库函数 read, seek 等也可以

by hust_tulip - C/C++ - 2005-03-02 18:04:02 阅读(2742) 回复(0)

将本地的几个文件上传到服务器上, 不知道可以用什么办法? 我想到的是用先将几个文件打包,然后fread 可是现在有个问题是,fread读取文本文件是可以的, 我用tar打包后,使用fread,上传到服务器上的文件都是0字节的空文件 不知fread函数对读取文件的格式有什么要求? 有什么方法可以解决吗? 谢谢?  72 fp = fopen(file, "r");//如果此处file为文本文件,读取就没有问题,如果是tar包,就会上传空的文件上去 &nbs...

by WHITLACK - C/C++ - 2009-03-05 12:57:50 阅读(15367) 回复(27)
by alex519 - PHP - 2004-01-30 18:14:21 阅读(4152) 回复(3)

我只知道对于普通的文件,如果不更改缓冲区设置的话,应该都是一次read 4K或8K的(对于文件).这两种写法产生的系统调用数是一样的. 但是对于proc文件这种形式的,我就不太理解其具体实现了.期待高手讲解一下.

by baohuaihuai - C/C++ - 2007-05-16 09:30:56 阅读(1108) 回复(0)

正在看《UNIX环境高级编程》这本书,写了一个小程序联系联系。 不过出现了一个让我摸不着头脑的小问题: [code] #include #include #define MAXLINE 32 int main(int argc,char **argv) { FILE *fp; char buf[MAXLINE],tmpbuf[MAXLINE]; char *Path; if(argc != 2){ printf("usage: ./test pathname\n"); return -1; } sprintf(tmpbuf,"%s/shiner/%s",getenv("HOME"),argv[1]); Path = tmpbu...

by shiner - C/C++ - 2007-09-04 17:16:38 阅读(1987) 回复(6)

fread(void *buffer,size_t size,size_t count,FILE* stream); 里边的参数count我不怎么理解,man一下说count是读取项目的最大值, 但是我如果在程序中需要用到这样一个结果,把一个文件文件很大,但是 具体字节数不知道)逐渐读到一个buffer中 (buffer是个固定大小的数组,),每次读完满后发送数据流到网络主机, 然后继续在文件中读取数据到buffer, 直到把整个文件的内容传输结束,这个count该怎么确定了?

by czh_zidane - C/C++ - 2005-11-15 12:49:00 阅读(5384) 回复(7)

大家好! 我在RedHat Linux 9 下用vi写了一个测试文件读写的小程序,用来读文本文件中的数据(文本文件用vi编辑成*.txt格式),之后用gcc编译。没有提示错误,但是读不出数据。 关键代码如下: [code] //数组用做缓冲区,接收文件中的浮点型数据 float array[10]; FILE* fp; //打开文件 if((fp=fopen("/mnt/wind/temp/data.txt","r"))==NULL){ printf("Can not open file: %s\n","b.txt"); exit(0); } printf("file o...

by BoboBear - C/C++ - 2005-02-24 16:20:07 阅读(6597) 回复(9)