#include <string>
#include <stdio.h>
#include <iostream.h>
long int memory;
MEMORYSTATUS memory;
int main(void)
{
memory.dwLength=sizeof(memory);
GlobalMemoryStatus(&memory);
}应该怎样改呀?能帮我把代码补全吗?总时提示错误,谢谢您的回答
#include <stdio.h>
#include <iostream.h>
long int memory;
MEMORYSTATUS memory;
int main(void)
{
memory.dwLength=sizeof(memory);
GlobalMemoryStatus(&memory);
}应该怎样改呀?能帮我把代码补全吗?总时提示错误,谢谢您的回答
dwLength
Size, in bytes, of the MEMORYSTATUS data structure. You do not need to set this member before calling the GlobalMemoryStatus function; the function sets it. 完整例子:// Sample output:
// c:\>global
// The MemoryStatus structure is 32 bytes long.
// It should be 32.
// 78 percent of memory is in use.
// There are 65076 total Kbytes of physical memory.
// There are 13756 free Kbytes of physical memory.
// There are 150960 total Kbytes of paging file.
// There are 87816 free Kbytes of paging file.
// There are 1fff80 total Kbytes of virtual memory.
// There are 1fe770 free Kbytes of virtual memory.#include <windows.h>// Use to change the divisor from Kb to Mb.#define DIV 1024
// #define DIV 1char *divisor = "K";
// char *divisor = "";// Handle the width of the field in which to print numbers this way to
// make changes easier. The asterisk in the print format specifier
// "%*ld" takes an int from the argument list, and uses it to pad and
// right-justify the number being formatted.
#define WIDTH 7void main(int argc, char *argv[])
{
MEMORYSTATUS stat; GlobalMemoryStatus (&stat); printf ("The MemoryStatus structure is %ld bytes long.\n",
stat.dwLength);
printf ("It should be %d.\n", sizeof (stat));
printf ("%ld percent of memory is in use.\n",
stat.dwMemoryLoad);
printf ("There are %*ld total %sbytes of physical memory.\n",
WIDTH, stat.dwTotalPhys/DIV, divisor);
printf ("There are %*ld free %sbytes of physical memory.\n",
WIDTH, stat.dwAvailPhys/DIV, divisor);
printf ("There are %*ld total %sbytes of paging file.\n",
WIDTH, stat.dwTotalPageFile/DIV, divisor);
printf ("There are %*ld free %sbytes of paging file.\n",
WIDTH, stat.dwAvailPageFile/DIV, divisor);
printf ("There are %*lx total %sbytes of virtual memory.\n",
WIDTH, stat.dwTotalVirtual/DIV, divisor);
printf ("There are %*lx free %sbytes of virtual memory.\n",
WIDTH, stat.dwAvailVirtual/DIV, divisor);
}