草庐IT

c - COMSPEC 和 PATH 环境变量应该是什么来定位命令解释器,使用 system()?

操作系统(XP)环境变量是否与从visualstudio.NETC++运行的进程中使用的相同?似乎没有找到命令解释器:当使用NULL作为命令时,system()returns0并使用命令-ENOENTCommandinterpretercannotbefound。在windows中(系统->环境变量),COMSPEC包含cmd.exe的路径路径没有。PATH应该是什么?除此之外,不知道为什么找不到解释器。如有任何建议,我们将不胜感激。谢谢。if(system("tail-500log.txt")==-1){//Errorcallingtail.exeonlog//errnoisasys

c - 在 Windows 上查找 C 代码中的内存泄漏

我已经知道我可以在Linux上使用mtrace和valgrind跟踪我的代码中的内存泄漏,这两者在Windows上都不可用。您会推荐哪个Windows程序来跟踪内存泄漏?我是Eclipse用户,现在我已经使用C语言一两个月了,所以我更喜欢用户友好的解决方案,而不是更高级的解决方案。 最佳答案 ApplicationVerifier会做得很好,http://msdn.microsoft.com/en-us/library/ms220948.aspx 关于c-在Windows上查找C代码中的

c - 尝试用 cl.exe 编译

抱歉,如果这是一个简单的问题,我不会在Windows中进行太多编程。我安装了VisualStudio,但当我尝试从命令行执行“cl”时,它告诉我它未被识别为命令!我如何获得cl? 最佳答案 打开VisualStudio命令提示窗口,它会自动为您设置正确的路径和其他设置。如果您做不到,这里有手动操作的说明:http://msdn.microsoft.com/en-us/library/f2ccy3wt(VS.80).aspx 关于c-尝试用cl.exe编译,我们在StackOverflow

c++ - 窗口界面而不是 c 中的控制台

我在c中有控制台应用程序。我想转换成窗口应用程序,请指导我,以便我可以实现。 最佳答案 这是一个很大的话题,需要单独讨论。您可能想学习一些GUI工具包。Qt或wxWidgets都可以(尽管它们是用C++而不是C编写的)。如果您喜欢C跨平台开发,您可以看看GTK+。如果您只打算为Windows编写程序,则可以学习WindowsAPI。无论您选择哪种方式,都有很多可用的文档,但每一种方式都需要大量学习,这里无法解释。 关于c++-窗口界面而不是c中的控制台,我们在StackOverflow上

c++ - 能不能每次读完串口就清空串口?

读取串口数据后需要清空串口数据再读取数据吗?我在WindowsXP上使用C/C++我该怎么做?提前致谢 最佳答案 清除接收缓冲区几乎总是错误的。串行端口通信本质上是异步的,您将冒删除良好数据的风险。仅当您使用主从协议(protocol)(设备仅在主机查询时才传输)才允许清除。但是,如果接收缓冲区实际上有数据要清除,那么您将忽略协议(protocol)违规,这是您永远不想忽略的事情。可靠的串口通信需要一个协议(protocol)。用于验证消息完整性的校验和和用于从数据损坏中恢复的ACK/NAK握手。查看RFC916中描述的RATP协议

c++ - 如何在 Visual C++ 中使用 lstrcat 进行连接?

我想将两个字符串附加在一起,以便我可以使用MoveFile函数重命名文件。但是我的字符串拒绝连接,所以不是将“E:\”添加到“FILE-%s-%02d%02d%02d-%02d%02d.txt”而是给我“E:\FILE-%s-%02d%02d%02d-%02d%02d.txt”,它只给我“E:\”,好像什么都没发生一样。这是我的完整代码片段:drivePathAgain="E:\\";sprintf(newname,"FILE-%s-%02d%02d%02d-%02d%02d.txt",szVolNameBuff,lt.wYear,lt.wMonth,lt.wDay,lt.wHour,

c - 在windows中查找文件的权限

我在Linux工作。在Linux中通过stat函数,我们可以提取一个文件的权限。同样,我们如何在windows中提取文件的权限。msdn中的_stat函数声明权限位在stat缓冲区中设置。但它没有给出如何提取它们。http://msdn.microsoft.com/en-us/library/14h5k7ff%28VS.71%29.aspx 最佳答案 structstat结构不包含Windows上的任何文件权限信息。Windows安全性要复杂得多,您需要GetFileSecurity()来检索文件的DACL。在Windows程序中很

c++ - 在没有注册表的情况下存储应用程序数据/设置的方法?

我需要一些从文件存储和获取数据的方法(在WIN32apic++应用程序中,而不是MFC或.NET)例如关闭窗口时保存窗口的x、y、宽度和高度,并在打开窗口时加载数据。我试过.ini文件,带有函数——WritePrivateProfileString和ReadPrivateProfileString/Int,但是在MSDN上它说“提供此功能只是为了与基于Windows的16位应用程序兼容。应用程序应将初始化信息存储在注册表中。”当我尝试在我的Windows764位机器上读取ini文件时,我遇到了蓝屏!(在visualstudio的Debug模式下)O.O我注意到大多数其他应用程序使用XM

c - 显示分配的内存量

嗨我正在编写一些测试内容以查看分配的内存量是否正确显示在Windows任务管理器中。下面是代码;intmain(intargc,char*argv[]){structstatst;charcommandXCopy[200];charcommandDelete[200];char*fNames[2^16];inti=0;char*ptr=(char*)malloc(sizeof(char)*2^32);printf("\nTEST");if(!ptr)printf("\nCannotallocate");elseprintf("\nMemoryallocate");while(1==1)

c - 我应该 IUnknown::Release 使用 DllGetClassObject 创建的接口(interface)吗

我正在尝试调试一些使用COM的代码,我是初学者。最后对IUnknown::Release的两次调用让我很担心。这些接口(interface)是使用DllGetClassObject和IClassFactory::CreateInstance创建的。我看到其他类似的代码没有调用IUnknown::Release-这是正确的吗?intOpenMixer_Win_DirectSound(px_mixer*Px,intindex){DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_DATAdesc;HMODULEhDsound=INVALID_HANDLE_VA