我用vc生成了一个动态链接库,使用时出了这样一个问题:我先自己打开一个文件句柄,就是我调用动态库的函数,把打开的文件句柄做为动态链接库函数参数传过去,但是动态库中的函数老是不能写文件。
我试过了两种方法:
第一种是使用int _open(const char *filename,int oflag [,int pmode] )函数得到int型的文件句柄,然后在动态库中用int _write(int fd,const void *buffer,unsigned int count)来写文件,结果发现_write函数返回的字节数是-1。
第二种是使用FILE *fopen( const char *filename, const char *mode )函数得到FILE*型的文件描述符,然后在动态库中用size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream )函数来写文件,结果程序运行到写文件时就出错退出,还要发什么错误报告。shit
哪位大哥大姐小弟小妹知道怎么解决?是不是动态库不能使用作为参数传过来的文件句柄来写文件?
我试过了两种方法:
第一种是使用int _open(const char *filename,int oflag [,int pmode] )函数得到int型的文件句柄,然后在动态库中用int _write(int fd,const void *buffer,unsigned int count)来写文件,结果发现_write函数返回的字节数是-1。
第二种是使用FILE *fopen( const char *filename, const char *mode )函数得到FILE*型的文件描述符,然后在动态库中用size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream )函数来写文件,结果程序运行到写文件时就出错退出,还要发什么错误报告。shit
哪位大哥大姐小弟小妹知道怎么解决?是不是动态库不能使用作为参数传过来的文件句柄来写文件?
解决方案 »
- 请问怎么有关于MFC界面设计的电子书清楚版的
- 问一个有点黑的问题.WNetAddConnection2成功后能干点什么(分就剩这么多了)
- Word有一个画图的工具栏,不知能否拿来在个人的程序中使用
- 这个错误怎么解决 0xC0000005: Access Violation
- "谁有带注册码的visual assist,请发给小弟"这个贴刚才我明明结了,为什么还在未结之列?请 echo1115()查一下有没有收到分
- 困惑
- 常出现的错误的编译错误
- 急寻并口通讯控件!
- 在ReBar里的控件如:Button和ComboBox为什么没有响应?
- WINDOWS还有DOS下为什么不能用“/ \”等当文件名呢?有谁知道
- 关于使用 VS.NET 2003 ATL7.0 创建NT Service 型COM服务器的问题!
- 有谁用过CImgEdit的进来看一下
所以我就怀疑动态库不能使用作为参数传过来的文件句柄来写文件了。
如果按照zhangshengyu(zhangshengyu)说的动态库没有这个限制,和应用程序一样,我就真不知道什么原因了。