Начинающий
			
			
				
					
				
			
		Начинающий
		- Статус
 - Оффлайн
 
- Регистрация
 - 21 Июн 2025
 
- Сообщения
 - 95
 
- Реакции
 - 5
 
не могу понять, почему выводиться не оперативная память, а рандом цифры, реализация функции сделано верно, я 1000 раз перепроверил, сравнил с синтаксисом GlobalMemoryStatusEx, проверил, правильно ли обращаюсь к структуре, все верно
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
		
		
	
	
		
	
Причем, компилятор обращается именно к принтф-у, я вроде все верно передал, хелп
				
			
			
				main.c:
			
		
		
		#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <locale.h>
void SystemInfo() {
    SYSTEM_INFO sysInfo;
    GetSystemInfo(&sysInfo);
    DWORD processors = sysInfo.dwNumberOfProcessors;
}
void Information() {
    SYSTEM_INFO sysInfo;
    GetSystemInfo(&sysInfo);
    WORD arhtic = sysInfo.wProcessorArchitecture;
    if (arhtic == PROCESSOR_ARCHITECTURE_AMD64)
    {
        printf("x64 Architecture \n");
    }
    else
    {
        printf("x86 Architecture \n");
    }
}
void GlobalMemory() {
    MEMORYSTATUSEX memoryInfo;
    memoryInfo.dwLength = sizeof(memoryInfo);
    GlobalMemoryStatusEx(&memoryInfo);
    DWORDLONG operative = memoryInfo.ullAvailPhys;
    printf("memory = %d\n", operative);
}
void GetCurrentUser() {
    char buffer[256];
    DWORD size = 256;
    if (GetUserNameA(buffer, &size)) {
        printf("Username = %s\n", buffer);
    }
    else
    {
        printf("Error no UserName!\n");
    }
}
void NamePC() {
    char buffer[256];
    DWORD size = 256;
    if (GetComputerNameA(buffer, &size))
    {
        printf("Computer Name = %s\n", buffer);
    }
    else
    {
        printf("Error name Computer!\n");
    }
}
void CollectSystemInf() {
    SystemInfo();
    Information();
    GlobalMemory();
    GetCurrentUser();
    NamePC();
}
void CreateFilesOrWriteFile() {
    HANDLE system = CreateFileA(
        "D:\\system_info.txt",
        GENERIC_WRITE,
        0,
        NULL,
        CREATE_ALWAYS,
        FILE_ATTRIBUTE_NORMAL,
        NULL
    );
    char data[] = "System Information:\n";
    DWORD bytesWritten;
    BOOL write = WriteFile(
        system,
        data,
        (DWORD)strlen(data),
        &bytesWritten,
        NULL
    );
    CloseHandle(system);
}
int main()
{
    SystemInfo();
    Information();
    GlobalMemory();
    GetCurrentUser();
    NamePC();
    CollectSystemInf();
    CreateFilesOrWriteFile();
    return 0;
}
	Причем, компилятор обращается именно к принтф-у, я вроде все верно передал, хелп
			
				Последнее редактирование: