文件读写问题!
原帖由 liuhuizhangyi 于 2008-9-8 21:34 发表
我有一USB设备,在Linux下面也有了驱动,该驱动主要是用来收发(读写)数据的。该设备有一个要求就是每次读写的数据必须是1275字节,如果小于这个数,就无法读出。
经过验证如果直接往该设备文件写入字符数据, ...
1、写入文件的问题,不管是写入什么文件,用open打开该文件,都按照ascii码读取,读到一个缓冲区里,然后写入设备文件就可以了阿。
2、文件大小问题:必须是1275字节,你读的时候判断够不够这么大,够的话就直接写,当写到最后一次不够的时候,把内容写完后,再后面接着写一些填充字符,凑够1275字节就可以了,这样的话,当你读取设备文件的时候就需要作处理,把最后一次读取到的缓冲区里面的填充字符去掉。或者用linux下的系统调用lseek,当写完字符后,直接lseek到1275字节。
如果我的回答满意,给分吧。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
爱莫能助
很奇怪的问题
有挑战性
望高人能够帮助你
这个问题估计发在编程问题或嵌入式开发那边更好些。
这已经不属于新手问题了,期待高人解决
这个应该用分片解决吧,不够的地方用空值填充。
哪里来的这么奇怪的设备,为什么会有这么奇怪的读写要求
在写入的时候,如果不够用自定义符号补齐1275,
如果多了,就分两次写。
设置一个文件头说明该文件总大小,即存贮状况~
这个设备有点怪。。。