niedziela, 15 września 2019

Info OS Version (C++ Linux)


#include <iostream>
#include <string>
#include <sys/utsname.h>
#include <sys/sysinfo.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>


using namespace std;

class os_Info
{
private:
struct utsname os_Version;
struct sysinfo sys_Values;
char  machine[40];
char  sysname[40];
char  version[40];
char  release[40];
double free_Memory;
double total_Memory;
int file;
public:
os_Info()
{
uname(&os_Version);
sysinfo(&sys_Values);
strcpy(machine,os_Version.machine);
strcpy(sysname,os_Version.sysname);
strcpy(version,os_Version.version);
strcpy(release,os_Version.release);
free_Memory=sys_Values.freeram/(1024.*1024.);
total_Memory=sys_Values.totalram/(1024.*1024.);
}
void write_to_File(char *file_Name)
{
size_t l_machine,l_version,l_sysname,l_release;

l_machine=strlen(machine);
l_version=strlen(version);
l_sysname=strlen(sysname);
l_release=strlen(release);
file=open(file_Name,O_WRONLY | O_CREAT | O_APPEND, 0666);
write(file,sysname,l_sysname);
write(file,version,l_version);
write(file,machine,l_machine);
write(file,release,l_release);
write(file,&total_Memory,sizeof(double));
write(file,&free_Memory,sizeof(double));
close(file);
}


};

int main(int argc, char **argv)
{
os_Info OS;
OS.write_to_File("date.txt");


return 0;
}

Brak komentarzy:

Prześlij komentarz