Kleines Programm zur chiffrierung von Dateien mit vigenere
-
Und in C++ braucht man kein void in der Parameterliste, wenn man keinen Parameter übergeben möchte.
Du übergibst std::string immer als Kopie. Kann natürlich gewillt sein, aber bei Positions oder Längenbrechnungen sollte eine const reference reichen.
Außerdem, in C++ deklariert man Variablen normalerweise erst da, wo man sie wirklich braucht. (Zum Beispiel Zählvariablen im Schleifenkopf)
-
@rustyoldguy sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
unsigned int chartoint(unsigned char intteile[4])
{
union intpart{
unsigned int erge;
unsigned char ipart[4];
} ipt;ipt.ipart[0] = intteile[0];
ipt.ipart[1] = intteile[1];
ipt.ipart[2] = intteile[2];
ipt.ipart[3] = intteile[3];return ipt.erge;
}könnte auch so aussehen:
unsigned int chartoint (unsigned char intteile[4]) { return *(unsigned int*)intteile; }
ist zwar auch nicht portabel, so wie deine funktion, aber auf x86 funktionierts.
um die endianess umzudrehen nehme htonl() aus der socket library.
-
@rustyoldguy Warum schreibst Du einen leeren Destruktor hin? Weißt Du welche konsequenzen das hat? Was bringt es an Mehrwert?
@rustyoldguy sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
//Umwandlung von signed char zu int int atoint(char letter) { int rewer; if ( letter < 0) rewer = letter + 256; else rewer = (int)letter; return rewer; }
Sorry, aber wth?
char /* signed | unsigned */ ch = -42; int value = static_cast<char unsigned>(ch);
fertig.
-
Dieser Beitrag wurde gelöscht!
-
Wow! Ist das ernst gemeinter Code oder ein maximal kompaktes Beispiel sämtlicher Coding-styles die es gibt!?
upper camel case, lower camel case, komplett in gross, mit '_' als Trenner (Frage: hat das eigentlich einen Namen?) mit folgendem Buchstaben mal gross, mal klein, englisch, deutsch-englisch-gemischt.
-
@rustyoldguy sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
void clearchararray(char array[], int lge)
{
for (int i = 0; i < lge; i++)
array[i] = 0;
}gibt es schon: http://www.cplusplus.com/reference/cstring/memset/
-
@Jockelx sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
mit '_' als Trenner (Frage: hat das eigentlich einen Namen?)
-
@Bashar Dankeschön
-
@Bashar sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
Snake Case
hat aber kein python-programmierer erfunden.
-
@rustyoldguy sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
for (i = 0; i < 16; i++) { if (wastun.compare(erge[i]) == 0) { frage = i; break; } }
Echt?
std::find()
!?
Aber warum überhaupt Zahlen als Text!?!?Und so könnte man bei dem Code ewig weitermachen. Bringt halt nix.
-
@Schlangenmensch sagte in Kleines Programm zur chiffrierung von Dateien mit vigenere:
Du übergibst std::string immer als Kopie. Kann natürlich gewillt sein, aber bei Positions oder Längenbrechnungen sollte eine const reference reichen.
Und wenn der C++ Standard dafür reicht (C++17 IIRC), dann könnte man auch gleich eine
std::string_view
nehmen.
-
void clearchararray(char array[], int lge)
lge
kurz für Länge? Bitte beschränk dich auf (in der Softwareentwicklung) übliche Abkürzungen oder gleich noch besser: kauf die eine Familienpackung Nachfüllbuchstaben für deinen Computer damit du nicht so sparen musst.Und Englisch für Funktionen/Variablennamen schadet auch nicht.