草庐IT

windows - 将终端区域设置永久设置为 C.UTF8

当我在Git的终端sh.exe中使用locale时(在PhpStormIDE中激活),会出现:$localeLANG=LC_CTYPE="C"LC_NUMERIC="C"LC_TIME="C"LC_COLLATE="C"LC_MONETARY="C"LC_MESSAGES="C"LC_ALL=C而且我不能使用任何字符,例如±、ę等。使用exportLC_ALL=C.UTF8后:$localeLANG=LC_CTYPE="C.UTF8"LC_NUMERIC="C.UTF8"LC_TIME="C.UTF8"LC_COLLATE="C.UTF8"LC_MONETARY="C.UTF8"LC_

c++ - 从 Matlab 运行 exe 代码。在 cmd (dos) 中工作的完全相同的指令在 Matlab 中失败

这让我发疯,我必须承认。在终于能够成功编译我需要处理语音文件的两个函数之后,从我从一个值得信赖的在线存储库下载的C/C++代码(代码已经在Linux中经过彻底测试),我现在正在努力从Matlab启动这些文件...当我在cmd(dos)中键入以下命令时分析b2.wavconfig_default它有效,没问题(参见此处Works)。然后,我将完全相同的命令构建到一个字符串中,并将其提供给“系统”Matlab函数。然后代码崩溃了...(请参阅此处Fails)我已经尝试使用完整路径(c:\b2.wav等)但仍然无法正常工作...关于为什么会发生这种情况有什么想法吗?

c++ - 如何制作一个功能,以便我可以输入我想打开的浏览器?

我的代码有什么问题?我正在尝试制作一个程序,您可以在其中键入要打开的浏览器。VC++在if语句中一直在等号下划线。#include#includeusingnamespacestd;voidOpenBrowser(stringbrowser){ShellExecuteA(NULL,"open",browser.c_str(),NULL,NULL,SW_MAXIMIZE);}intmain(){chara;std::cout>a;if(a="firefox"){OpenBrowser("firefox");}else{OpenBrowser("chrome");}system("paus

c - 如何使这个 1996 年的 makefile 起作用?

这是1996年旧GSM标准的make文件。我需要让它在运行OSX10.11.6的MacBook或Windows7的大学计算机上运行。Windows没有安装nmake在谷歌搜索之后,这个问题似乎是一个解决方案。有没有办法绕过makefile的使用?此外,将CDIR和UTILSDIR更改为完整路径在我的Mac上还不够。make-fmakefile.mak仍然返回TCC-A-I/Users/Henrik/Desktop/GSMHR2/DISK/c-Fc-ml-c/Users/Henrik/Desktop/GSMHR2/DISK/c/gsm_hr.cmake:TCC:Nosuchfileord

c - 为什么使用 fscanf 会导致应用程序崩溃?

C编程新手。以下代码部分试图从文本文件(utf-8)中读取制表符分隔的MD5列表(32个字符)和相应的描述(最多128个字符),但导致应用程序崩溃:HANDLEhFile=CreateFileW(good_path,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);if(hFile==INVALID_HANDLE_VALUE){returnFALSE;}LPWSTRmd5=malloc(sizeof(wchar_t)*32);LPWSTRdes

c++ - 如何找到包含 X 的窗口的 PID

我可以使用FindWindow,但每次打开时窗口的名称都会改变。所以我的问题是,我怎样才能:A)查找包含'x'的窗口的PIDB)在一个带有exe文件名称的窗口中找到PID?抱歉,如果问题很明显,对C++来说是新问题。提前致谢! 最佳答案 尝试使用EnumWindows获取所有窗口句柄通过IsWindowVisible检查窗口句柄的状态.BecausesomeinvisiblewindowscanhangthecalltoGetWindowText通过GetWindowText获取每个窗口的标题.然后检查标题包含“X”您想要的字符或字

c++ - 尚未调用 CoInitialize -(从没有库的 DirectXTK 加载 gamepad.h)

我正在为游戏handle类使用DirectXTK库。我编译了这个库,里面只有这个类,它可以工作。如果我只将源文件添加到我的项目中,而没有库,大小将是~50KB而不是~500KB。但是,我收到以下错误:CoInitializehasnotbeencalled关于如何解决这个问题以便我的可执行文件的大小更小有什么想法吗? 最佳答案 好吧,你可以调用CoInitialize你自己作为main中的第一件事。intmain(){CoInitialize(NULL);//yourcodereturn0;}

c++ - 如何判断 stderr 是否已在 Windows 中重定向?

我希望我的程序在stderr连接到控制台时和重定向到文件/管道时具有不同的行为。在Unix系统中,我可以只测试isatty(STDERR_FILENO),但我如何在Windows中执行此操作?MSVCRT也有一个名为_isatty的函数,它不能正常运行(例如DetectNULfiledescriptor(isattyisbogus))。我可以调用任何Windows或NTAPI来测试它吗? 最佳答案 调用GetStdHandle获取标准错误句柄。将该句柄传递给GetFileType以找出它是什么类型的文件。如果返回FILE_TYPE_

c - Malloc 是否分配了比需要的更多的内存?

这是学校的C作业,但我遇到了一些奇怪的事情,我不知道它是否正常。我必须接受命令行参数,一个例子是-ia.b所以在我的程序中,我使用malloc动态分配内存char*fileName=NULL;fileName=malloc(strlen(argv[i])*sizeof(char));//errortestingetcstrcpy(fileName,argv[i]);工作正常,但我通过visualstudio调试器查看内存,这是在内存位置分配的内存位置,对我来说,它需要的空间更大:0x01608b98"ÍÍÍÍÍýýýýB`\x1˜?`\x1\xf1¼O{º"如果我像这样转换malloc

c++ - 是否可以使用仿函数作为 std::function 的模板参数?

我正在尝试查找用于编译此示例C++代码的g++编译器参数:#include#includestructmystruct{inta;intoperator()(inty){returny+1;}};intmain(){std::functionfoo;return0;}在cpp引用中写道,std::function模板参数可以是“...或其他函数对象”。我在包含多个std::function的大型项目上工作,并且项目可以使用g++构建。我正在尝试在VS2015下构建它,但此类代码的编译器会提示:错误C2027:使用未定义的类型'std::_Get_function_impl'和[_Fty