草庐IT

string-id

全部标签

regex - 如何 : Searching for a string in a file from the Windows command line?

有没有办法在目录及其子目录的文件中搜索字符串?字符串比较独特。我想返回字符串的名称,并希望返回字符串在文件中所在的行。Windows中是否内置了用于执行此操作的任何内容? 最佳答案 您正在寻找内置的findstrcommand./S选项执行递归搜索。 关于regex-如何:SearchingforastringinafilefromtheWindowscommandline?,我们在StackOverflow上找到一个类似的问题: https://stacko

c++ - C 字符串和 std::string 之间的转换导致平台特定方式出现乱码

我今天正在处理一个特定于平台的错误,在这个错误中,在Windows机器上某个字符串会非常乱码,但在Mac上则不会。该错误与在std::string和constchar*之间进行显式和隐式转换的几行有关。基本上,我有一个带有签名的函数voidfoo(conststd::string&id);foo在某些时候打印字符串。在Windows上,如果像下面这样调用,它会打印带有不同程度损坏的id字符串(混淆前几个字符或整个字符串)std::stringmystring=bar();constchar*id=mystring.c_str();foo(id);//passtheCstylestrin

c++ - 涉及 `std::string` 的编译导致 Windows 错误状态

最小的例子:#include#includeintmain(int/*argc*/,char*/*argv*/[]){HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//Behaviorthesame,withorwithout.DWORDerr=GetLastError();std::stringstr;return(int)err;//returns127ifflineaboveuncommented,0iffcommented}此程序返回127,对应于ERROR_PROC_NOT_FOUND(“找不到指定的过程。”)。请注意,err是在s

c++ - 进程 ID 和进程名称

我正在创建一个基本上扫描系统以查看特定进程是否正在运行的Windows程序。我有进程名称(AcroRd32.exe),没有别的。据我所知,最简单的方法是使用CreateToolhelp32Snapshot创建所有进程的快照,然后遍历每个进程以查找进程名称。我的应用程序以高性能为中心。那么有没有更好更有效的方法来做到这一点。应用程序每隔几秒收集一次快照。在快照中迭代100个进程似乎效率不高。是否有直接的API可以通过进程名称找到进程(并通过名称检索进程句柄或ID)?我进行了广泛的搜索,但运气不佳。有人试过这个吗? 最佳答案 扫描进程的

c# - 云端唯一ID生成

我正在寻找一种简单但可靠的解决方案来配置唯一的部件号。我一直在考虑使用GUID来识别来自不同客户端(台式机、电话等)的请求,然后根据请求GUID的插入日期时间顺序分配PN。问题:SQLAzure是适合使用的服务吗?对此有标准方法吗?谢谢。 最佳答案 这与“在云上”没什么关系,而是一个普遍的分布式计算问题。您的问题中没有足够的信息来完全理解您的要求,但我收集到的是您需要为请求部件号的服务消费者分配一个唯一编号。第一个想法是GUID是一个数字(128位长)。每当您需要分配零件编号时,您不能只生成一个GUID吗?如果需要,您可以将GUID

c++ - 给定线程 ID,如何确定它是否仍在 Windows 上运行

在Linux上,我们有pthread_kill()来执行此操作。我正在尝试为它找到Windows对应项。换句话说,给定一个线程id,有没有办法判断线程是否还在运行?GetExitCodeThread()是我发现的最接近的方法,但是,它需要线程句柄而不是线程ID作为其参数。 最佳答案 您不应该为此目的使用线程ID:线程ID可以重复使用,因此如果您获得线程ID,则该线程退出,另一个线程可以使用相同的线程ID启动。句柄不存在这个问题:一旦一个线程终止,该线程的所有句柄都会反射(reflect)该线程的终止状态。您可以使用OpenThrea

windows - 线程 ID 是否总是适合四位十进制数?

我正在将日志语句写入文件,并希望在每一行前加上生成该语句的线程ID。似乎GetCurrentThreadId函数总是返回一个GetCurrentThreadId返回一个DWORD值,它显然可以包含大数字。谢谢。 最佳答案 GetCurrentThreadID的MSDN页面说:thethreadidentifieruniquelyidentifiesthethreadthroughoutthesystem.因此,线程ID在整个系统中都是唯一的,而不仅仅是您的进程,很有可能在某个时候返回一个大于4位十进制数的值。

windows - 具有唯一 ID 的 SetTimer

我想为一个窗口设置一个定时器,但我不知道那个窗口是否已经有定时器在运行。如果是这样,我不想覆盖其中任何一个,所以我需要选择一个免费的计时器ID。MSDN对我的情况没有帮助,他们描述了几乎所有的排列,除非你有一个hwnd并且不想更换计时器。因此,如果可以将0或其他内容作为nIDEvent并让Windows自动创建一个新的uniqeid,或者是否有某种方法可以列出当前正在运行的计时器以便我可以避免使用其中的任何一个?SetTimer的MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85

string - 为什么 CALL SET 在 CMD Windows 和 .CMD 文件中的工作方式不同?

我正在尝试以编程方式使用WindowsCMDSET字符串操作版本。SET的两个版本是...SETNew_String=%String:Old_Text=New_Text%在变量String中将Old_Text替换为New_Text,并在变量New_String中返回结果。SETNew_String=%String:~Number_Of_Chars_To_Skip,Number_Of_Chars_To_Keep%在变量String中,在跳过Number_Of_Chars_To_Skip之后提取Number_Of_Chars_To_Keep,并在变量New_String中返回结果Old_T

string - 无法将字符串从 vba 传递到 Windows dll

我有64位Windows10和MSOffice64位。我正在尝试让PowerPoint的VBA在自写的64位WindowsDLL中加载和执行函数。问题是我无法将字符串从VBA传递到WindowsDLL。各种网站上有很多讨论,但我还没有找到一个有效的。我尝试了两种方法但没有成功。如果我使用调用DLL的C++应用程序,我没有问题。方法一:动态链接库:extern"C"{__declspec(dllexport)longjaadd(longa,longb,LPCWSTRstrg){MessageBoxW(NULL,strg,L"DLL",MB_OK);returna+b;}}在VBA中:Pr