草庐IT

FileHandle

全部标签

ruby - Ruby 在哪里跟踪其打开的文件描述符?

这个问题不是关于什么这个问题不是关于如何使用File#close或File#openblock语法自动关闭文件。这是一个关于Ruby在运行时将其打开的文件描述符列表存储在何处的问题。实际问题如果您有一个带有打开描述符的程序,但您无权访问相关的文件或IO对象,您如何才能找到对当前打开的文件描述符的引用?举个例子:filename='/tmp/foo'%x(touch"#{filename}")File.open(filename)filehandle=File.open(filename)第一个File实例被打开,但对该对象的引用未存储在变量中。第二个实例存储在filehandle中,我

go - 为什么使用自定义 log.Logger 记录到文件会失败?

我无法让我的程序从main()之外的函数写入日志文件我确实看到了https://stackoverflow.com/a/19966217/4374801这很相似,但没有解决我的确切问题。以下是我正在做的事情的重要部分:var(Info*log.LoggerError*log.Logger)funcinit(){//setuplogfilefileHandle,err:=os.OpenFile("/var/log/checkcert",os.O_WRONLY|os.O_CREATE|os.O_APPEND,0644)iferr!=nil{log.Fatal(err)}//defertoc

c - 如何使用 C 从 Windows 中的文件句柄获取文件名?

我正在尝试从给定的文件句柄中检索文件名。我看过GetFileInformationByHandle可能有用,但它返回的结构不包含任何文件名信息(http://msdn.microsoft.com/en-us/library/aa363788%28v=VS.85%29.aspx)。我该怎么做?编辑:我已尝试安装WindowsFileIDAPI以使GetFileInformationByHandleEx在WindowsXP上运行。但是当包含fileextd.h时,出现以下错误c:\programmi\microsoftvisualstudio9.0\vc\include\fileextd.

c++ - 检查文件是否被进程文件句柄锁定

鉴于我有所有进程的所有文件句柄的列表,我如何找出这些句柄中的哪些实际上锁定了文件?据我所知,我可以简单地尝试打开文件并尝试获取所有权限,如果出现问题,我会知道它已被锁定。但这听起来效率极低。我的意思是我已经有了句柄没有办法检查句柄有哪些权限吗?我希望看到一个适用于WindowsXP及更高版本的解决方案。我已经搜索过GetFileInformationByHandleEx功能,但我找不到任何关于访问权限的信息。:/编辑:我不需要关于文件锁的实时信息。我计划处理的文件要么被锁定,直到某些应用程序关闭,要么根本不被锁定。 最佳答案 此问题

php - 如何确保文件句柄在下一次操作之前已关闭?

这是我到目前为止的代码,我想知道它是否正确?$handle=fopen($file,'w')ordie("can'topenfile");$closed=fclose($handle);while($closed){DOAWESOMETHINGS();//btwIonlywanttohavethisrunonceforeachhandle$closed=false;}非常感谢! 最佳答案 您可以使用此语句检查句柄是否已关闭if(!is_resource($handle)){//Handleclosed}else{//Handlest

php - 如何使用 php ://memory file handle? 执行 cURL PUT 请求

我正在使用第3方PHP类来访问API,它具有以下代码:$fh=fopen('php://memory','w+');fwrite($fh,$xml);rewind($fh);$ch=curl_init($req->to_url());curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_PUT,true);curl_setopt($ch,CURLOPT_INFILE,$fh);在最后一行,即这一行:curl_setopt($ch,CURLOPT_INFILE,$fh);我收到错误:Warning:cu

c++ - 如何获取进程的文件句柄?

我正在尝试获取C++中任何正在运行的进程的文件句柄。这是我的代码:#include#include#include#include#includevoidkillProcessByName(constchar*filename){HANDLEhSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL);PROCESSENTRY32pEntry;pEntry.dwSize=sizeof(pEntry);BOOLhRes=Process32First(hSnapShot,&pEntry);while(hRes){if(strcmp(pEnt

c++ - 检查内容语言是否使用从右到左的方向?

是否有Qt中的内置方法或其他方法来检查内容语言是否使用从右到左的方向?QFilefileHandle("c:/file.txt");if(!fileHandle.open(QFile::ReadOnly|QFile::Text))return;QTextStreamfileContent(&fileHandle);fileContent.setCodec("UTF-8");fileContent.setGenerateByteOrderMark(false);ui->plainTextEdit->setPlainText(fileContent.readAll());fileHandl

c++ - 使用 fread() 以相反的顺序读取文件会导致内存泄漏?

我有一个基本上是这样做的程序:打开一些二进制文件向后读取文件(向后,我的意思是它从EOF附近开始,并在文件开头结束读取,即“从右到左”读取文件),使用4MBblock关闭文件我的问题是:为什么内存消耗看起来像下面这样,即使我附加的代码中没有明显的内存泄漏?这是为获取上图而运行的程序源代码:#include#includeintmain(void){//allocatestuffconstintbufferSize=4*1024*1024;FILE*fileHandle=fopen("./input.txt","rb");if(!fileHandle){fprintf(stderr,"N

c++ - 获取不带扩展名的文件名?

我是C++世界的新手,我遇到了一个非常微不足道的问题,即获取不带扩展名的文件名。我有包含sample.txt的TCHAR变量,只需要提取sample,我使用了PathFindFileName函数它只返回我传递的相同值。我尝试使用谷歌搜索解决方案,但还是没有成功?!编辑:我总是得到三个字母的文件扩展名,我添加了以下代码,但最后我得到了类似Montage(2)««þîþ我如何在最后避免垃圾字符?TCHAR*FileHandler::GetFileNameWithoutExtension(TCHAR*fileName){intfileLength=_tcslen(fileName)-4;TC