草庐IT

file_time_type

全部标签

windows - 如何打开 File::Find 从所需函数中找到的文件?

我有如下代码。如果我在我的搜索中打开文件$File::Find::name(在本例中是./tmp/tmp.h)>函数(由File::Find::find调用),它说“无法打开文件./tmp/tmp.hreason=Nosuchfileordirectoryattemp.plline36,line98。”如果我直接在另一个函数中打开文件,我可以打开文件。有人可以告诉我这种行为的原因吗?我在Windows上使用activeperl,版本是5.6.1。usewarnings;usestrict;useFile::Find;subsearch{returnunless($File::Find:

c++ - 为什么 std::remove for file 总是返回 -1?

我正在尝试删除一个文件(如果存在)。所以首先我测试文件是否存在,如果存在我使用std::remove删除它。.test.json中包含一些json相关的txt。我还有#include包括在内。std::stringfile_to_remove="test.json";std::ifstreamf(file_to_remove.c_str());if(f.good()){intval=std::remove(file_to_remove.c_str());std::cout我原以为retval是0但我得到-1我当前的输出是:Removingfile:test.json:retval:-1

windows - grunt "Error: Cannot find module ' ../time/convert'(仅在 Windows 上)

在linux下建立一个新的angular项目。将其提交到git并将其克隆到windows。使用bower和npm,我设法加载了所有内容,除了我有一个错误(仅在Windows上)项目中../time/convert的递归grep显示:./node_modules/grunt-contrib-imagemin/node_modules/gifsicle/node_modules/bin-wrapper/node_modules/mout/date/diff.js:varconvert=require('../time/convert');./node_modules/grunt-contr

c++ - 如何正确格式化 DEVPROP_TYPE_DATE?

我想格式化一个DEVPROP_TYPE_DATE值(value)。官方文档说:“在WindowsVista和更高版本的Windows中,DEVPROP_TYPE_DATE属性类型表示基本数据类型标识符,指示数据类型是DOUBLE类型的值,指定自12月31日以来的天数,1899。例如1900年1月1日为1.0;1900年1月2日为2.0;以此类推。”DEVPROPERTYstructure文档说:“DEVPROP_TYPE_DATE-日期(DATE)”到目前为止,还不错!可是等等!DEVPROP_TYPE_DATE格式相似,但不等于DATE数据类型格式:“DATE类型是使用一个8字节fl

regex - Perl one liner corrupts file in Windows (carriage-return related issue)

我有一个PostScript文件,我想在其中更改一行:%%Title:myabc到%%Title:yourdef下面的Perloneliner在Ubuntu中成功了:perl-p-ifoo.bak-e"s/%%Title:.+\n/%%Title:yourdef\n/"file.ps但它会破坏Windows中的文件(看起来它会将\r\n添加到每个“行”或类似的东西)。我尝试了另一种方法,但在Windows中仍然没有成功:perl-Mopen=OUT,:bytes-p-ifoo.bak-e"s/%%Title:.+\n/%%Title:yourdef\n/"file.ps这是怎么回事,我

c++ - 延迟加载 DLL : "Exception 0xC06D007E: Module not found" when application started multiple times

我的应用程序在使用延迟加载DLL时出现间歇性崩溃。我们在几个不同的调用堆栈中看到了崩溃,但在__delayLoadHelper2中引发0xC06D007E:Modulenotfound时它总是崩溃。连续(串联)多次调用流程时引发异常。这是一个示例调用堆栈:KERNELBASE.dll!RaiseException()+0x3dbytesMYDLL.dll!__delayLoadHelper2(constImgDelayDescr*pidd=0x000000000012f650,__int64(void)**ppfnIATEntry=0x000000000012f570)Line331C

java - 在 Windows 7 上从 Java 启动 CYGWIN 构建的可执行文件失败并显示 "error while loading shared libraries: ?: No such file or directory"

有问题的代码在早期版本的Windows上或多或少地以完全相同的配置工作,但是,还不知道它是否可以在Windows7上运行!这就是我现在需要解决的问题。简而言之,一些C代码在启动Java程序之前执行一些配置和安全检查,传递一些在Java中几乎不可能轻松完成的数据。反过来,Java在适当的时间启动相同的C代码,然后它自己启动一个不同的Java程序。第二个程序启动需要完全独立,(想想nohup)因此是第二个启动。现在发生的事情是C程序以普通方式启动Java程序,但是当Java尝试启动C程序时,它会出现如下错误:/cygdrive/c/opt/ST/v3.3/bin/ST.exe:errorw

我可以获得内存中已有数据支持的 FILE* 吗?

我的代码目前使用一个库,我将FILE*传递给该库,它使用fread()CRTAPI读取一堆复杂的配置数据。我想移动文件以成为文件中的嵌入式资源(WindowsDLL)。不幸的是,读取Windows资源会直接将数据作为void*....我无法传递给图书馆。我想要的是能够获得一个由内存缓冲区而不是磁盘上的文件支持的FILE*。Windows有CreateStreamOnHGlobal(),但它使用IStream*,我需要一个FILE*。不幸的是,我找不到适用于Windows的任何解决方案。这可能吗?我可以使用的解决方案是将资源数据写入临时文件,将临时文件传递给配置解析器,然后删除文件...

sql-server - 使用 TYPE(在 sql server 2008 中)命令将缓冲区大小限制为 255

我正在使用master.dbo.xp_cmdshell以下列方式将txt/csv文件加载到SQL服务器:CREATETABLE#tempoutput(result_id[int]IDENTITY(1,1)NOTNULL,resultVARCHAR(MAX))INSERTINTO#tempoutput(result)EXEC@rcode=master.dbo.xp_cmdshellTYPEc:\test.csv问题是,虽然结果列被定义为VARCHAR(MAX),但当我尝试使用标题时:SELECTtop1@result=resultFROM#Tempoutput我只能获取255个字符,有什

c++ - 将 FILE * 或 HANDLE 转换(分配)到 Windows 中的 IStream

想要编写一个函数,该函数期望一个文件的打开句柄,并且出于某些目的将其转换为IStream以与Wrapper库进行交互我知道的一种方法是,我可以从HANDLE获得一个FILE*,但是我没有得到任何方法来将此FILE*或HANDLE直接转换或分配给IStream(COM)。 最佳答案 你可以试试getfilenamefromHANDLE然后createIStream从路径。 关于c++-将FILE*或HANDLE转换(分配)到Windows中的IStream,我们在StackOverflow