而你的问题是,在两个cpp文件内都include了这个头文件。头文件中应该只放函数的声明而不能放函数的耐笑定义,如果放了定义,就像你写的那样,两个cpp文件include了这个头文件,那么就会出现两次定义旁亩局的问题。可以重复声明不能重复定义,所以会运让报错。
filebuf::openprot //默认的兼容共享方式
filebuf::sh_none //独占,不共享
filebuf::sh_read //读共享
filebuf::sh_write //写共享
以上方式仅旧版VC中支持,新版VC在share.h中为Win32项目定义了如下方式
_SH_DENYRW 0x10 /* deny read/write mode*/
_SH_DENYWR 0x20 /* deny write mode */
_SH_DENYRD 0x30 /* deny read mode */
_SH_DENYNO 0x40 /* deny none mode */
_SH_SECURE 0x80 /* secure mode */
示例:fstream a_file(test.dat, ios::in | ios::binary, _SH_DENYRW)
此时使用其他程序打开test.dat将显示“此文件已被其他进程占用”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)