Category C/C++

LibreSSL TLS C++ Client

Exported from Notepad++
//clear; rm -frv ssl_client; g++-7 -g -fPIC -Wall -ltls -lssl -lcrypto ssl_client.cpp -o ssl_client -static-libstdc++ //#################################################################### //openssl req -x509 -newkey rsa:4096 -subj “/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com” -keyout key.pem -out cert.pem -days 365 //openssl x509 -in cert.pem -text -noout //openssl rsa -in key.pem -out key2.pem #Passwort entfernen //#################################################################### //lynx https://github...
Read More

LibreSSL TLS C++ Server

Exported from Notepad++
//clear; rm -frv ssl_server; g++-7 -g -fPIC -Wall -ltls ssl_server.cpp -o ssl_server -static-libstdc++ //#################################################################### //openssl req -x509 -newkey rsa:4096 -subj “/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com” -keyout key.pem -out cert.pem -days 365 //openssl x509 -in cert.pem -text -noout //openssl rsa -in key.pem -out key2.pem #Passwort entfernen //#################################################################### //lynx https://github...
Read More

OwnCloud Modifikationen

//Compile Command:
//rm -frv mysql_user_check; clear; g++ -g -Wall -o mysql_user_check mysql_user_check.cpp -L/usr/lib64/mysql -lmysqlclient; ./mysql_user_check;
//rm -frv mysql_user_check;clear; g++ -g -c -O2 -Wall -o sha1.o sha1.c ;g++ -g -c -O2 -Wall -o mysql_user_check.o mysql_user_check.cpp; g++ -Wall -g -o mysql_user_check mysql_user_check.o sha1.o -L/usr/lib64/mysql -lmysqlclient;  ./mysql_user_check;
//quick compile command: g++ -g -c -O2 -Wall -o mysql_user_check.o mysql_user_check.cpp; g++ -Wall -g -o mysql_user_check mysql_user_check.o sha1.o -L/usr/lib64/mysql -lmysqlclient;
//TO DO:
//Wenn nur ein Parameter übergeben wird, Abbruch verhindern...
Read More

Boost regexp

//clear;g++ -g -Wall -o rules_modifier rules_modifier.cpp -lboost_regex
#include <boost/regex.hpp>

boost::regex expr(“*[0-9]*”);

if (boost::regex_search(snort_conf_inhalt_string, expr))
{
cout << “line matches.” << endl;

}
else
{
cout << “line does *not* match.” << endl;
}

Read More

dymnaisches Array

string *datei_array = NULL;

int k = 1;

k = k + 1;

datei_array = new string[k];

datei_array[i] = verzeichnis_inhalt;

cout<<“In Schleife “<<i<<” : “<<datei_array[i]<<endl;

Read More

Integer nach String konvertieren

#include <string>
#include <sstream>

//******************************

stringstream strstream;
strstream << i;
string_zahl = strstream.str();

Read More

Liste

//Liste für die Dateien
struct TListenKnoten_datei
{
string data_datei;  // simuliert die Daten
TListenKnoten_datei *next_datei; // Verknüpfung zum Nachfolger
};

string Inhalt_datei;
TListenKnoten_datei *node_datei, *old_datei;
TListenKnoten_datei *Anker_datei = 0; // Anfang der Liste
//****************************************************************************************************************
TListenKnoten_datei *node = new TListenKnoten_datei;
node->data_datei = verzeichnis_inhalt;  // Besetze die Daten
node->next_datei = Anker_datei; // Hänge die bisherige Liste an
Anker_datei = node;       // Setze den Anfangspunkt hierhe
//****************************************************************************************************************
for (...

Read More

Unterfunktion Rückgabewert

#include <iostream>
using namespace std;

string Add(string, string); //Deklaration einer Funktion

int main()
{
string a,b;
cout<<“Bitte 2 Zahlen eingeben\n”;
cin>>a;
cin>>b;
cout<<“Die Summe von “<<a<<” und “<<b<<” ist “<<Add(a,b)<<“.\n”;
}

string Add(string lhs, string rhs) //Definition einer Funktion
{
return lhs + rhs;
}

Read More

Verzeichnis durchsuchen

#include <dirent.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stdio.h>
#include <string.h>

void traverse(char *fn, int indent) {
DIR *dir;
struct dirent *entry;
int count;
char path[1025];
struct stat info;

for (count=0; count<indent; count++) printf(”  “);
printf(“%s\n”, fn);

if ((dir = opendir(fn)) == NULL)
perror(“opendir() error”);
else {
while ((entry = readdir(dir)) != NULL) {
if (entry->d_name[0] != ‘.’) {
strcpy(path, fn);
strcat(path, “/”);
strcat(path, entry->d_name);
if (stat(path, &info) != 0)
fprintf(stderr, “stat() error on %s: %s\n”, path,
strerror(errno));
else if (S_ISDIR(info.st_mode))
traverse(path, indent+1);
}
}
closedir(dir);
}
}

main() {
puts(“Directory structure:”);
traverse(“/dev”, 0);
}

Read More

Datei zum schreiben öffnen

#include <fstream>

#include <iostream>

using namespace std;

int main()
{

fstream f;
f.open(“test.dat”, ios::out);
f << “Dieser Text geht in die Datei” << endl;
f.close();
}

Read More

MySQL connect

#include <iostream>
#include <mysql/mysql.h>

using namespace std;

int main ()
{

MYSQL *mysql_handle;
MYSQL_RES *result;
MYSQL_ROW row;
char *query;
int mysql_status_code;
//int reihen_nummer;
//int zellen_nummer;

mysql_handle = mysql_init(NULL);

mysql_real_connect(mysql_handle,”localhost”, “root”,”mysql”,”test_datenbank”,0,NULL,0);

query = “DROP DATABASE test_datenbank;”;

mysql_status_code=mysql_real_query(mysql_handle,query,(unsigned int) strlen(query));

if (mysql_status_code > 0)
}
cout<<“Fehler mit dem SQL Server: “<<mysql_error(mysql_handle)<<endl;;
}
else
{
cout<<“Datenbank erfolgreich geloescht !!”<<endl;
}

result=mysql_use_result(mysql_handle);

mysql_close(mysql_handle);

return (0);
}

Read More

HTTP Netzwerk connect

/*
Netzwerkverbindung mit der C Socket API
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <vector>

using namespace std;

int main ()
{

struct hostent *host;//Hostname struktuieren
host = gethostbyname(“ld0082”); //eventuell die IP in DNS Namen umwandeln

struct sockaddr_in addr;
addr.sin_addr = *(struct in_addr*)host->h_addr;

int s;
s = socket(PF_INET, SOCK_STREAM, 0); //Socket aufbauen. wenn -1 dann ist fehlgeschlagen
//cout<<“Socket Status: “<<s<<endl;

addr.sin_port = htons(1080);//Connection Portnummer des Servers festlegen
addr.sin_family = AF_INET;

connect(s,(struct sockaddr*)&addr,...

Read More

Datei prüfen

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <iostream>

using namespace std;

int main ()
{
struct stat FileInfo;
struct dirent *CurrentFile;
DIR *Directory;
char Path[30];

Directory = opendir(“/home/USER/temp”);

/*if ( (Directory = opendir(“/tmp”)) == NULL)
{
perror(“opendir()”);
return EXIT_FAILURE;
}
*/
while ( (CurrentFile = readdir(Directory)) != NULL)
{
//if (strcmp(CurrentFile->d_name,”.”) &&
//     strcmp(CurrentFile->d_name,”..”))
{
strcpy(Path,”/home/USER/temp/”);
strcat(Path,CurrentFile->d_name);
//printf (“%s \t:”,Path);
cout<<Path;
if (stat(Path,&FileInfo) == -1) {
perror(“stat()”);
closedir(Directory);
return EXIT_FAILURE;
}
if (S_ISREG(FileInfo.st_mode))
p...

Read More

Vektor mit Rückgabe

#include <stdio.h>
#include <vector>
#include <string>
#include <iostream>

using namespace std;

int vector_funktion(vector<string> &vec, string test)
{
cout<<“Funktion: “<<test<<endl;

int i;
for(i=0;i<100;++i)
{
vec.push_back(test);
//vec[i] = test;

}
cout<<“Push_back: “<<vec[34]<<endl;

return(0);
}

int main ()
{

vector<string> vec;
string test;

test = “test”;

vector_funktion(vec,test);

cout<<“Main: “<<vec[34]<<endl;
}

Read More

Verzeichnis durchsuchen 2

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <iostream>

using namespace std;

int main ()
{
struct stat FileInfo;
struct dirent *CurrentFile;
DIR *Directory;
char Path[999];

Directory = opendir(“/home/USER/temp”);

while ( (CurrentFile = readdir(Directory)) != NULL)
{

{
strcpy(Path,”/home/USER/temp/”);
strcat(Path,CurrentFile->d_name);

cout<<Path;

if (stat(Path,&FileInfo) == -1)

{
perror(“stat()”);

closedir(Directory);
return EXIT_FAILURE;
}

if (S_ISREG(FileInfo.st_mode))
puts(” Regulaere Datei”);
else if (S_ISDIR(FileInfo.st_mode))
puts(” Directory”);
else
puts(” Spezielle Datei”);

}
} //end while
closedir(Directory);
cout<<Path;
return EXIT_SUCCESS;

} //end main

Read More

Char filter

#include <iostream>

//clear; g++ -g -Wall -o char_filter char_filter.cpp

using namespace std;

int main()
{
char Zeichenkette[] = {“abcdefghijklmnopqrstuvwxyz”};

int i = 0;

//Zeichenkette bis zum Ende (\0) durchlaufen.
while(Zeichenkette[i] != ‘\0’)
{
cout<<Zeichenkette[i];

i++;
}

return(0);
}

Read More

Char liste

#include <iostream>
#include <cstdlib>

using namespace std;

//Struktur definieren
struct name
{
char vorname[20];
char nachname[20];
};

int i = 0;
name person[20];

//Ausgabe zur Eingabe zum fuellen der Struktur Variablen
void eingabe ()
{
cout<<“Bitte Vornamen eingeben: “;
cin>>person[i].vorname;

cout<<“Bitte Nachnamen eingeben: “;
cin>>person[i].nachname;
cout<<endl;

i++;
}

//Ausgabe der einzelnen Struktur Variablen
void ausgabe (int j)
{
for (int k=0;k<j;k++)
{
cout<<k+1<<“. Person: “;
cout<<person[k].vorname<<” “;
cout<<person[k].nachname<<endl;
}
}

//Main Funktion
int main()
{
int j;
for (j=0; j<20; j++)
{
//Aufruf der Funktion “eingabe” zum fuellen der Strukturvariablen
eingabe();
}

//Aufruf der Funktion “ausgabe” zum Ausgeben der Strukturvariablen
ausga...

Read More

Fork

#include <iostream>

using namespace std;

int main ()
{

int pid;

pid = fork();

if(pid == 0)
{

cout<<“Animations Prozess”<<endl;
cout<<“###################################################################”<<endl;

int i = 0;

while(1)
{

sleep(1);

i = i + 1;

cout<<i<<endl;

if (getppid() == 1)
{
exit(0);
}
}

exit(0);
}
else
{
cout<<“Arbeits Prozess”<<endl;

sleep(6);

exit(0);
}

return(0);
}

Read More

Get exe Info

#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <string>
#include <sstream>
#include <tchar.h>

using namespace std;

//int _tmain (int argc, char *argv[])
//int main (int argc, _TCHAR *argv[])
//int main (int argc, basic_string<TCHAR> *argv[])
//int main (int argc, string *argv[])
//int main (int argc, LPCTSTR *argv[])
int fileversion(LPCTSTR lptstrFilename)
{
DWORD dwSize = GetFileVersionInfoSize(lptstrFilename,0);

//cout<<“Size in bytes: “<<dwSize<<endl;

LPTSTR lpData = NULL ;

lpData = (LPTSTR)malloc(dwSize);

DWORD ver_info = GetFileVersionInfo(lptstrFilename, 0, dwSize, lpData );//Wenn gleich 0 dann Fehler.

if (ver_info == 0)
{
cout<<“Versions detection nicht moeglich”<<endl;

exit(0);
}
//cout<<“File Info: “<<ver_info<<endl;

VS_FIXEDFIL...

Read More

IP Raw Socket ICMP

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>

#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/ip_icmp.h>
#include <netinet/in_systm.h>

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <errno.h>

using namespace std;

struct hdr
{
struct iphdr ip;
struct tcphdr tcp;
struct icmphdr icmp;
};

int main (int argc, int argv[])
{

int raw_socket;

raw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); //Raw Socket wird initialiesiert

cout<<“Socket Status Code: “<<raw_socket<<endl;

int on = 1;

raw_socket = setsockopt(raw_socket,IPPROTO_IP,IP_HDRINCL,&on,sizeof(int)); //Dem System sagen das man auch den IP Header s...

Read More

Kellerautomat (Push-Down Automat)

//Header Includen
#include <iostream>
#include <vector>
#include <string>

using namespace std;

//Main Funktion
int main ()
{
//Endlos While Schleife
while (1)
{
//String Variable deklaieren
string eingabe;

//Ausgabe auf die Kommandozeile zur Eingabge eines Textes
cout<<“Bitte geben Sie einen Text ein: “;
//Die Kommandozeilen Eingabe in die String Variable schreiben
cin>>eingabe;
cout<<endl;

//Der Eingabe noch ein zusaetzliches Startzeichen hinzufügen, wegen Start des “string.find” Kommandos.
eingabe.insert(0,”S”);

//Int Variable deklaieren und initilisieren bzw. den Wert 0 zuweisen
int klammer_offen_gefunden = 0;
int klammer_geschlossen_gefunden = 0;
int laenge_der_eingabe = 0;

//Zeichensatzlaenge des Eingabe Strings herausfinden und einer Int Variablen zuwe...

Read More

MySQL Daten lesen

//Folegend zwei SQL qury commands;
//INSERT INTO filesearch_tabelle (datei,verzeichnis,datensatznummer,zeitstempel) VALUES (‘Datei1′,’Verzeichnis1′,’2’,CURRENT_TIMESTAMP);
//SELECT * FROM filesearch_tabelle;

#include <mysql/mysql.h>
#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
MYSQL *mysql_handle;
MYSQL_RES *result;
MYSQL_ROW row;
char *query;
int mysql_status_code;
int reihen_nummer;
int zellen_nummer;

mysql_handle = mysql_init(NULL);

cout<<“Mysql Handle: “<<mysql_handle<<endl;

mysql_real_connect(mysql_handle,”127.0.0.1″,”root”,”Passwort”,”filesearch_datenbank”,0,NULL,0);

query=”SELECT * FROM filesearch_tabelle”;
cout<<“SQL Query: “<<query<<endl;
//query = “INSERT INTO test_tabelle (text) VA...

Read More

Nslookup light

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
struct hostent *hostinfo; //netdb.h -> libc Host Names http://www.gnu.org/software/libc/manual/html_node/Host-Names.html

//cout<<argv[1]<<endl;//Uebergabe Parameter 1

//cout<<argc<<endl;//Anzahl der Parameter

if (argc == 1)
{
cout<<“Bitte Hostnamen eingeben”<<endl;
return(0);
}

hostinfo=gethostbyname(argv[1]); //Hostnamen herausfinden und uebergeben

//cout<<“Hostinfo: “<<hostinfo<<endl;

if (hostinfo == 0)
{
cout<<“Hostname konnte nicht gefunden werden”<<endl;
return(0);
}

cout<<“Hostname: “<<hostinfo->h_name<<endl; /...

Read More

Pattern Matching light

#include <iostream>
#include <cstdlib>
#include <string.h>

using namespace std;

int pattern_matching(string eingabe)
{
int string_laenge;
string_laenge = eingabe.size();

int gefunden;
gefunden = eingabe.find(“aeiou”);

if (gefunden == -1)
{
return(0);
}
else
{
return(1);
}

}

int main()
{
string eingabe;

cout<<“Suchtext eingeben: “;
cin>>eingabe;
cout<<endl;

int rueckgabewert;
rueckgabewert = pattern_matching(eingabe);

if (rueckgabewert == 0)
{
cout<<“Suchmuster nicht gefunden”<<endl;
}
if (rueckgabewert == 1)
{
cout<<“Suchmuster gefunden”<<endl;
}

return (0);
}

Read More

Pointer

#include <stdio.h>

void ausgabe(char *feldelemente[])
{

//Ausgabe der einzelnen Parameter
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[0], feldelemente[0], *feldelemente[0]);
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[1], feldelemente[1], *feldelemente[1]);
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[2], feldelemente[2], *feldelemente[2]);
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[3], feldelemente[3], *feldelemente[3]);
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[4], feldelemente[4], *feldelemente[4]);
printf(“Character: %c, Adresse: %li, IntWert %i \n”, *feldelemente[5], feldelemente[5], *feldelemente[5]);
printf(“Character: %c, Adresse: %li, ...

Read More

Schleifen

#include <stdio.h>

int main()
{
//Variable “feld” der größe 11 und Variable counter definieren
int feld[11], counter;

//For Schleife initialisieren für 10 Durchläufe
for (counter=0; counter<10; counter++)
{
//Tastatureingabe in die “feld” Variable schreiben.
scanf(“%d”,&feld[counter]);
}

//Variable den Wert Null zuweisen
counter=0;
//Variablen, summe, counter_2, mini, maxi definieren und initialisieren
int summe=0, counter_2=0, mini=feld[0], maxi=feld[0];

//While Schleife für 10 Durchläufe definieren
while (counter++ < 10)
{
//If Anweisung definieren
if(mini < feld[counter_2])
mini=mini;
else
mini=feld[counter_2];

//If Anweisung definieren
if(maxi > feld[counter_2])
maxi=maxi;
else
maxi=feld[counter_2];

//Variable “summe” einen Wert zuweisen
summe = sum...

Read More

SHA1 RFC 3174

//Notwendige Header zum Berechnen des SHA1 Wertes eines Strings (Textes)
#include <stdint.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include “sha1.h” //sha1 Header nach RFC 3174
//Notwendige Header zum Berechnen des SHA1 Wertes einer Datei
#include <fstream>
#include <vector>

//g++ Compile Kommando
//clear;g++ -g -c -O2 -Wall -o sha1.o sha1.c ;g++ -g -c -O2 -Wall -o test.o test.cpp; g++ -Wall -g -o test test.o sha1.o
//”./test”
//Nach RFC 3174 http://www.ietf.org/rfc/rfc3174.txt

using namespace std;

int main()
{
SHA1Context sha; //SHA1 wird initialisiert

char text[] = {“Test”}; //Klartext String der berechnet werden soll

cout<<“SHA1 Klartext: “<<text<<endl;

int status = 0;

cout<<“Textlaenge: “<<strlen(text)<<endl;

status = SHA1Reset(&sha);

c...

Read More

SMTP

#include <iostream>

#include <errno.h>
#include <stdlib.h>
#include <string.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>    /* sockaddr_in structure */
#include <netdb.h>          /* /etc/hosts table entries */

using namespace std;

int main()
{
char *from = “root”;
char *to = “root”;
char *betreff =”Test”;
char *daten =”Test”;

struct sockaddr_in smtp_conn;

int socket_status;
struct hostent *hp, *gethostbyaddr();
char puffer[4096];

if (( socket_status = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
cout<<“Socket Fehler;”<<endl;
return -1;
}

smtp_conn.sin_port = htons(25); /* Server port # */
smtp_conn.sin_family = AF_INET;    /* Internet domain */

hp = gethostbyname (“rts”);
bcopy ( hp -> h_addr_list[0], &smtp_conn...

Read More

Oracle DB connection

#include <iostream>
#include <occi.h>

using namespace oracle::occi;
using namespace std;

int main()
{
//create environment and connection
Environment* env = Environment::createEnvironment();
Connection* conn = env->createConnection( “scott”, “tiger” );
cout << “Environment and Connection created” << endl;

//execute a SQL statement
Statement* stmt = conn->createStatement();
stmt->setSQL(“INSERT into FRUITS (fruit, amt) VALUES (‘apple’, 10)”);
stmt->executeUpdate();
conn->terminateStatement(stmt);

//terminate environment and connection
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
cout << “Environment and Connection terminated” << endl;

}

Read More

UFT Unicode converter

#include <iostream>
#include <string>
#include <stdio.h>
//#include <stdlib.h>
//#include <ctype.h>
#include <assert.h>
#include <vector>
//#include <stdarg.h>
//#include <locale.h>
//#include <wchar.h>
#include <sstream>
//ICU UTF unicode Framwork Header
//#include “unicode/ustring.h”
//#include “unicode/unistr.h”
//#include “unicode/ucnv_err.h”
//#include “unicode/uenum.h”
#include “unicode/ucnv.h”
//#include “unicode/utypes.h”
//#include “unicode/uchar.h”
//#include “unicode/uloc.h”
//#include “unicode/utf.h”
//#include “unicode/uobject.h”
//#include “unicode/ustream.h”
//#include “unicode/chariter.h”
//#include “unicode/schriter.h”
//#include “unicode/uchriter.h”
//#include “unicode/uiter.h”
//#include “unicode/normlzr.h”
//#include “unicode/unorm.h”
//#i...

Read More

Vector iterator (Felder Einschub)

//Iteration(Inhalt einfügen###############################################################################################################################
datei_inhalt_vektor.erase (datei_inhalt_vektor.begin() + i);
vector<string>::iterator it;
it = datei_inhalt_vektor.begin() + i;
it = datei_inhalt_vektor.insert ( it , veraenderter_datei_vector_inhalt );
cout<<datei_inhalt_vektor[i]<<endl;

Read More

WSA winsock 2 UDP Client

//winsock2_client

#include <iostream>
#include <stdio.h>
#include <winsock2.h>

using namespace std;

int main ()
{

//Sender

SOCKADDR_IN local;

char *buffer = “Hallo Welt”;
int buffer_size = strlen(buffer);
cout<<“Sende Puffer Laenge: “<<buffer_size<<endl;

WORD wVersionRequested;
wVersionRequested = MAKEWORD( 2, 0 );

int nRet;
WSADATA stWSAData;
nRet = WSAStartup(wVersionRequested,&stWSAData);
cout<<“WSAStartup Initialisierungs Code: “<<nRet<<endl;

SOCKET hSock;
hSock = socket(AF_INET,SOCK_DGRAM,0);
cout<<“Socket initialisierungs Code:”<<hSock<<endl;

SOCKADDR_IN receiver;
receiver.sin_family = PF_INET;
receiver.sin_port = htons((short)4712);
receiver.sin_addr.s_addr = inet_addr(“127.0.0.1”);

nRet = sendto(hSock,buffer,buffer_size,0,(SOCKADDR*)&receiver,sizeof(r...

Read More

Zufallsgenerator

#include <stdio.h>
#include <stdlib.h>
int main()
{
//Variablen definieren
int zufall[201];
int counter;

srand(time(0));

//For Schleife mit 200 Durchläufen definieren
for(counter=0;counter<200;counter++)
{
//Zufallszahl der Variablen zuweisen
zufall[counter]=rand();
}

//Variablen den Wert Null zuweisen
counter=0;

//While Schleife mit 200 Durchläufen definieren
while(counter++ < 200)
{
//Ausgabe der Zufallszahl
printf(“Zufallszahl Nr: %d %d \n”,counter,zufall[counter]);
}
return(0);
}

Read More

FileSearchEngine Linux Backend

/*
//Paramater:**********************************************************************
./fileserach -create = Erstellt die Datenbank und die Tabellen
./fileserach -delete = Loescht alle Datenabnken
./fileserach -start = startet den collect vorgang
//TO DO:********************************************************************************
Demo Version mit nur max 250 Eintraegen bauen
Variablen deklaierung optimieren sprich nur einmal initialisieren lassen als kopf
eventuell beim sql schreiben in die hauptdatenbank einen pop auf den verzeichnis und datei vektor machen um ram zu sparen
Index auf Datenbank (bei mehr als 1. mio Eintraege) testen
php und HTML inkls http.conf und .htaccess configuration schreiben und in definiertes verzeichnis ausgeben =>
=>aber in neue...

Read More

MPI pi Berechnung für Windows HPC

#include “stdafx.h”

#include <string>

#include “mpi.h”

int main(int argc, char* argv[])

{

int numOfIntervals, rank, size;

double mypi, pi, width, sum, midPoint;

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD,&size);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);

if (rank == 0) {

// Validate that arguments were received

if (argc != 2)

return 0;

numOfIntervals = atoi(argv[1]);

}

// Broadcast the number of intervals to the other nodes

MPI_Bcast(&numOfIntervals, 1, MPI_INT, 0, MPI_COMM_WORLD);

if (numOfIntervals == 0)

return 0;

// Calculate the size of the interval

width = 1.0 / (double) numOfIntervals;

sum = 0.0;

for (int i = rank + 1; i <= numOfIntervals; i += size) {

midPoint = width * ((double)i – 0.5);

sum += (4.0 / (1.0 + midPoint*midPoint));

}

mypi = width * s...

Read More

Speicherzuweisung

//g++ -g -Wall allocate_memory_and_touch_it.cpp -o allocate_memory_and_touch_it;

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;

int main (void)
{
int n = 0;
char *p;

while (1)
{
if ((p = malloc(1<<20)) == NULL)
{
printf(“malloc failure after %d MiB\n”, n);
return 0;
}
memset (p, 0, (1<<20));
printf (“got %d MiB\n”, ++n);
}
}

Read More

Speicherzuweisung 2

//g++ -g -Wall allocate_memory_only.cpp -o allocate_memory_only;

#include <stdio.h>
#include <stdlib.h>

using namespace std;

int main (void)
{
int n = 0;

while (1)
{
if (malloc(1<<20) == NULL) {
printf(“malloc failure after %d MiB\n”, n);
return 0;
}
printf (“got %d MiB\n”, ++n);
}
}

Read More

OOM Exception

//g++ -g -Wall oom_exception.cpp -o  oom_exception;

#include <stdio.h>
#include <stdlib.h>

#define MEGABYTE 1024*1024

using namespace std;

int main(int argc, char *argv[])
{
void *myblock = NULL;
int count = 0;

while (1)
{
myblock = (void *) malloc(MEGABYTE);
if (!myblock) break;
printf(“Currently allocating %d MB\n”, ++count);
}

exit(0);
}

Read More

SAP SolMan eMail Notification

//Bei W2K3
//als Windows Dienst erstellen “runas /user:Administrator “INSTSRV.EXE CRM_Async_Checker C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe” ”
//Bei W2K8
//” runas /user:Administrator “sc create SAP_eMail_Notification binPath= E:\Service_Desk_eMail_Notification_add_on\srvany.exe DisplayName= “SAP_eMail_Notification” ” ”
//Regedit öffnen und HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CRM_async_checker auswaehlen. Key hinzufügen -> “Parameters” -> Dann unter Parameters -> Strin Value -> “Application” mit Pfad zum CRM_Async_Checker. http://support.microsoft.com/kb/137890

//To DO:
//Parameteruebergabe fue eMail Empfaenger, SQL Datenbank/Tabelle und Check Interval
//Bessere Fehlertolleranz

//C++_CLI Header
#include “stdafx.h”

//St...

Read More