在程序中,本人是用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函数看看,另外,你手工是用什么软件去打开的?可能那个软件是以独占方式去打开文件的