草庐IT

the_string

全部标签

c++ - 将 unicode(带 BOM)字符串转换为 ASCII std::string

我有一个带有初始BOM的unicode字符串(一系列字节)(它通常是UTF-16little-endian)我需要将其转换为ASCIIstd::string。我尝试使用thissolution但它不适用于visualstudio2015.我怎样才能转换那一系列的字节?目标系统将是Windows。 最佳答案 这应该适用于visualstudio。此函数永远不应内联,因为它会在堆栈上分配临时可变大小的缓冲区。std::stringtoMultibyte(constwchar_t*src,UINTcodepage=CP_ACP){intw

C++ - 如何获取正在运行的进程的 .exe 路径作为 std::string?

我有一个程序需要将文件放在与已运行的Windows进程相同的目录中。如何将此目录检索为std::string以便我可以在正确的位置写入?我知道这不是什么大问题,但我确实用Google搜索了很多次,但我找不到任何与解决方案类似的东西。编辑:我正在使用Code::Blocks,因此最好是不特定于单个IDE功能的解决方案。 最佳答案 如果您为Windows开发程序,您可以使用GetModuleFilename()API调用,然后从整个路径中删除文件名部分。这是示例:#include"stdafx.h"#include#include#in

string - 如何将包含特定字符串的行的行号存储在环境变量中的文本文件中?

我目前有这个批处理代码,它告诉我这个字符串在文本文件中出现的次数。@ECHOOFFset/aNumb=0for/f%%iin('FINDSTR/N.*%1')do(set/aNumb+=1)echo%Numb%我需要另一段代码将文本所在的行号输出到一个变量。如何将文本文件中包含特定字符串的行的行号存储在环境变量中? 最佳答案 我的这个任务的批处理代码需要指定文件名和搜索字符串作为参数来运行批处理文件并进行一些错误检查:@echooffsetlocalEnableDelayedExpansionset"FileName=%~1"set

windows - Windows 上的 QML : make the window to stay on top

我确实需要让我的窗口在Windows上保持在顶部,但Windows本身似乎并不需要willingtoallowme做这个。我无法使用设置注册表值的解决方法,因为我无法要求用户注销/登录。此外,我使用QML和QWidget::raise()andQApplication::setActiveWindow()的解决方案似乎也不起作用,因为我没有设法使用以下代码将QML根对象作为QWidget指针获取:QWidget*mainWin=qobject_cast(engine.rootObjects().at(0));if(mainWin){mainWin->raise();QApplicati

Windows 批处理文件 : Loop on rows and split string

我有一个格式如下的文本文件:name1:surname1name2:surname2name3:surname3等等。我需要在窗口批处理脚本中编写一个for循环并分配给2个变量name=name1surname=surname1等等。像(这是错误的)for/F"tokens=*"%%rowin(myfile.txt)do(for/F"tokens=1*delims=:"%%uin("%row%")do(....))有什么建议吗? 最佳答案 你真的不需要两个嵌套循环。但是,您可能需要的是延迟变量扩展。@echooffsetlocale

Python 和 Gimp : How to properly kill the gimp process?

我正在使用由照片软件gimp调用的python脚本将pdf转换为jpg。到目前为止,该脚本运行良好,但完成后,gimp会打开一个cmd窗口,提示“按任意键退出”。这个cmd窗口是gimp.exe进程,我无法用我的脚本杀死它(我不想每次运行我的脚本时都输入用户输入)。我尝试了像os.system("taskkill/imgimp-2.8.exe")和sys.exit(0)这样的python命令,但它们都不起作用。这是我的python脚本:importos,time,sys,glob,refromgimpfuimport*rxcountpages=re.compile(r"/Type\s*

c# - 连接到 RFID 阅读器时出错 : The maximum baud rate for the device is 8190

您好,我有一个名为“SiliconlabsCP210x”的USBRFID读写器,我在Visualstudio2015中使用C#开发了一个可以读/写的Windows应用程序在RFID卡上,它工作正常......我在我的笔记本电脑上更换了我的Windows(以前的Windows和新的Windows是Windows10)并安装了VisualStudio2017...现在当我打开解决方案并运行应用程序时看到这个错误:System.ArgumentOutOfRangeExceptionoccurredHResult=0x80131502Message=Themaximumbaudratefort

windows - 如何在 Powershell 中的 System.String 类型的字符串中添加值

问题描述:我正在尝试执行此处提到的任务-https://codereview.stackexchange.com/questions/182483/advent-of-code-2017-day-1-sum-of-digits-matching-the-next-digit-circular-list但是在WindowsPowerShell中使用简单的循环逻辑(因为我是PowerShell的新手)该任务需要查看一个数字序列,并找到与列表中的下一个数字相匹配的所有数字的总和。该列表是循环的,因此最后一位数字之后的数字是列表中的第一位数字。例如:1122producesasumof3(1+

c++ - std::string 连接的运行时依赖

std::stringsAttr("");sAttr=sAttr+VAL_TAG_OPEN+sVal->c_str()+VAL_TAG_CLOSE;我定义的代码中的其他地方constcharVAL_TAG_OPEN[]="";sVal是一个从字符串指针数组中检索的变量。这在大多数系统、windows和linux中都可以正常工作。然而,在一个客户站点,我相信有一个我们已经进行了广泛测试的linux版本,产生的结果就好像我从未使用过VAL_TAG_OPEN和VAL_TAG_CLOSE。我收到的结果是为了sAttr=sAttr+sVal->c_str();发生了什么事?std::string

c - 在 Windows XP 上运行应用程序时出现 "The specified procedure could not be found"错误(异常 c0000139)

我们有一个dll在Vista和Win7上运行良好一段时间,但在XP上运行时,我们在LoadLibrary时遇到错误“找不到指定的过程”()被调用加载它。我已经尝试使用配置文件选项通过DependencyWalker运行它,将全局标志设置为显示加载器快照,我能从中得到的唯一看似有用的信息是:LDR:SnappingimportsforMyDll.dllfromKERNEL32.dllLDR:LdrGetProcedureAddressbyNAME-RtlGetLastWin32ErrorLDR:exceptionc0000139thrownwithinfunctionLdrpSnapIA