在程序中,本人是用p = _fsopen(pchFile,pchMode,SH_DENYNO)这个方式打开文件的,然后程序写日志时,本人没关掉日志文件,只等到程序退出运行才关闭,现在本人手工打开日志文件,不让本人打开。有什么办法可以在程序运行时,可以不关闭日志,然后又可以手工打开日志的。
解决方案
2
奉丞相之命在此等候你多时了!
无profiler不要谈效率!尤其在这个云计算、虚拟机、模拟器、CUDA、多核 、多级cache、指令流水线、多种存储介质、……满天飞的时代!
15
你的代码用_SH_DENYRW方式打开不就可以了?
呃,说错了,是_SH_DENYWR
不行,虽然给提示,但是打不开的
虽然没给提示,但是打不开的
不太可能吧,你试试本人这测试代码,运行的好好的啊
#include <iostream> int main() { FILE* p=_fsopen("d:\log.txt","a+",_SH_DENYWR); int n=0; char c; while (true) { fprintf(p,"%d\tlogloglog!\n",n++); fflush(p); std::cout<<"continue?"<<std::endl; std::cin>>c; if (c=="n") break; } fclose(p); return 0; }
3
你的代码用_SH_DENYRW方式打开不就可以了?
呃,说错了,是_SH_DENYWR
不行,虽然给提示,但是打不开的
虽然没给提示,但是打不开的
直接用win32的OpenFile函数看看,另外,你手工是用什么软件去打开的?可能那个软件是以独占方式去打开文件的