草庐IT

c - mkdir 函数在 C 中不起作用

这个问题在这里已经有了答案:mkdirc++function(4个答案)关闭8年前。我试图通过执行以下代码段在C中创建一个文件,但我收到“未定义标识符“mkdir””。我正在使用VisualStudio在Windows计算机上工作。#include#include#includeintmain(){charnewTempFolderName[50];inta=mkdir("./newTempFolderName",0700);return0;}

c - 释放的内存不会导致页面错误

在为进程保留和提交虚拟内存的实验中,我使用VirtualAlloc分配了64K字节的内存,memcpy将测试字符串放入其中,printf像一个字符串一样,使用VirtualFree和MEM_RELEASE标志释放内存,然后再次printf。由于某种原因,没有触发页面错误。这是为什么?#include#includeINTmain(DWORDargc,LPSTRargv[]){SYSTEM_INFOinfo;DWORDdwPageSize;DWORDdwMemSize;LPVOIDlpvMem;GetSystemInfo(&info);dwPageSize=info.dwPageSize

c - 文件大小 c 不同于大小数据字符串的大小

我有一个正在写入的文件,然后将其大小更改为写入其中的文本大小,例如:FILE*file...我从文件中获取所有数据并将文件的大小更改为数据的大小,但它有所不同。字符串的大小小于文件长度,它会剪切它并丢失数据。可能是什么问题?while(fgets(cLine,sizeof(cLine),file))str.append((string)cLine);fputs(str.c_str(),file);_chsize(fileno(file),(int)str.size());当我检查它时,fileLength(fileno(file))总是大于str.size()!

c - 为什么我的应用程序在复制大文件时卡住?

我有一个MFC应用程序。它基本上只是将文件从一个驱动器复制到另一个驱动器。当我复制大文件(超过1Gb)并单击我的窗口时,我的应用程序卡住,但复制在后台继续进行。有人告诉我必须使用工作线程。我用过它,但它仍然卡住。当我复制小文件时就可以了。我不知道可能是什么问题。请有人帮忙!这是我的代码:voidCGetFileListDlg::OnBnClickedButtonGetFileList(){//herei'mdoingfilelistcomparingAfxBeginThread(CopyThread,&Tstruct);//hereicallmythreadandgiveastruct

c - STATUS_PENDING 是什么意思?

我对NT进程没有概念,因为我使用的是nativeAPI。因为它们返回的值如STATUS_TIMEOUT、STATUS_PENDING等。STATUS_PENDING真的是什么意思?我的代码是这样的。NTSTATUSrc;rc=NtReadFile(Keybrds[iLoop].hKeyboard,Keybrds[iLoop].hEvent,NULL,NULL,&IoStatusBlock,&KbData,sizeof(KEYBOARD_INPUT_DATA),&ByteOffset,NULL);这里,NtReadFile()正在返回STATUS_PENDING,这是什么意思?

c++ - 在 Windows 中使用事件进行调试

如果我在Windows中使用CreateEvent创建事件,我如何使用VisualStudio中的调试器检查该事件是否已发出信号?CreateEvent返回一个句柄,它不能让我访问很多信息。在调用WaitForSingleObject()之前,我想在进入函数之前检查事件是否已发出信号。 最佳答案 您可以使用ProcessExplorer工具(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)在调试器之外手动检查事件。如果事件被命名,它会有所帮助,这样您就可以更

c++ - Windows 的 Bignum 库?

是否有适用于Windows的bignum库?我查看了GMP,但不幸的是,它看起来不像可以在Windows上编译...(我将执行一些自定义RSA和哈希例程)谢谢。 最佳答案 人提供pre-compiledbinaries适用于Windows上的gmp;还有instructions自己编译。另一种选择是bignumlibraryofOpenSSL. 关于c++-Windows的Bignum库?,我们在StackOverflow上找到一个类似的问题: https:/

c++ - 关于调用约定的问题

我记得很久以前,我在使用TurboC的时候,不需要关心函数的调用约定,我使用或者定义的每一个函数都是C调用的形式约定。但是我转到Windows平台后,发现调用约定说明符太多了,比如:WINAPI、STDCALL、__cdecl...这是编译器进化的结果吗? 最佳答案 不,它只是或主要是WindowsAPI的历史遗产。Windows以外的大多数系统通常不会使用不同的调用约定(异常(exception):系统调用和内核模式)。 关于c++-关于调用约定的问题,我们在StackOverflow

c++ - 等待时间过去而不用在C窗口中忙着等待

我有一个线程,它的工作是向UDP对等点发送消息。如果满足以下条件之一,线程将发送消息:1)自上次发送消息以来已经过了一定时间(如超时)。2)共享结构中的更新bool标志已被其他线程引发。我希望能够等待这些条件发生,以便我知道何时发送消息。我能做到的最简单的方法是制作一个重复的循环,直到满足其中一个条件。怕是忙着等待,会白白消耗大量CPU时间。我也不想使用sleep()。我不介意C++解决方案,只要它易于理解和实现即可,因为我对C++不是很熟悉。谢谢! 最佳答案 对于Windows,使用事件(CreateEvent)而不是bool值,

c++ - VOID NTAPI 是什么意思,我在哪里可以找到它的引用资料?

我找到了这段代码,但我不明白。我找不到NTAPI的引用资料。对我来说,它定义了一个名为TestForWr的函数,但NTAPI令人困惑。VOIDNTAPITestForWr(PVOIDAd,ULONGLe,ULONGAl); 最佳答案 来自WinNT.h#defineNTAPI__stdcallThe__stdcallcallingconventionisusedtocallWin32APIfunctions.Thecalleecleansthestack,sothecompilermakesvarargfunctions__cdec