我知道有这样一种技术: 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了,读取的内容是连续的,存是选择性的,即是不连续的
偶打开的是一个二进制的文件,fread函数读取文件中的内容 读到一个地方,文件指针指向文件头了,而不是继续往下读了。 请问这是怎么回事? 我用的VC6.0,2000系统 读取的是二进制文件,刚开始读了一部分,fread还是能正常的读取 数据,就是读到一个特定的位置 出了问题 可是我查看二进制的文件 没有发现什么异常的数据啊!
引用: 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:为什么要将整个结构体看成一个字节数据项的整体呢?如此类推一个类也能看成一个字节数据项的整体吗?为什么不将里面的每...
将本地的几个文件上传到服务器上, 不知道可以用什么办法? 我想到的是用先将几个文件打包,然后fread 可是现在有个问题是,fread读取文本文件是可以的, 我用tar打包后,使用fread,上传到服务器上的文件都是0字节的空文件 不知fread函数对读取文件的格式有什么要求? 有什么方法可以解决吗? 谢谢? 72 fp = fopen(file, "r");//如果此处file为文本文件,读取就没有问题,如果是tar包,就会上传空的文件上去 &nbs...
我只知道对于普通的文件,如果不更改缓冲区设置的话,应该都是一次read 4K或8K的(对于文件).这两种写法产生的系统调用数是一样的. 但是对于proc文件这种形式的,我就不太理解其具体实现了.期待高手讲解一下.
正在看《UNIX环境高级编程》这本书,写了一个小程序联系联系。
不过出现了一个让我摸不着头脑的小问题:
[code]
#include
fread(void *buffer,size_t size,size_t count,FILE* stream); 里边的参数count我不怎么理解,man一下说count是读取项目的最大值, 但是我如果在程序中需要用到这样一个结果,把一个文件(文件很大,但是 具体字节数不知道)逐渐读到一个buffer中 (buffer是个固定大小的数组,),每次读完满后发送数据流到网络主机, 然后继续在文件中读取数据到buffer, 直到把整个文件的内容传输结束,这个count该怎么确定了?
大家好! 我在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...