textdatei verschlüsseln
-
nwp2 schrieb:
Und ich muss malloc casten weil C++ dumm ist und keinen impliziten cast von void * nach wasauchimmer * hat. Fürs Forum hätte ich es rausnehmen können, hab ich vergessen.
benenn deine sources einfach mit .c als extension, bzw. stell deine IDE so ein, dass sie den C- statt cpp-compiler anwirft. casten des rückgabewertes von 'malloc' sollte man sich garnicht erst angewöhnen, finde ich.
--> http://c-faq.com/malloc/mallocnocast.html
-
machs doch einfach in c, dann hast den stress nicht
-
Ich weiß, dass malloc casten schlecht ist. C benutzen ist aber noch schlechter, weil dann der Schwachsinn mit "Variablen müssen am Anfang des Blocks definiert sein" und "//C++-Style Kommentare nicht erlaubt" und "class not defined" anfängt. Ich habe nichmal eine IDE, weil der Aufwand Eclipse, Netbeans und Co zum laufen zu kriegen so extrem hoch ist, dass es sich für mich nicht lohnt. Im Moment benutze ich Scite + Commandline, da weiß ich wenigstens was ich tue. Für meinen selbsgebastelten Editor habe ich ein makefile gebaut, aber der Aufwand war so extrem hoch, dass es sich nicht gelohnt hat. Obwohl es schon nett ist wenn man es erstmal hat und weiß wie man es zwingen kann etwas sinnvolles zu tun.
Edit: Das Argument von http://c-faq.com/malloc/mallocnocast.html zieht ja mal garnich, wenn malloc nicht definiert ist kriege ich das schon mit. Es ist einfach hässlich und unnötig, das ist alles.
-
Variablen nicht am Anfang und oneline-comments sind mit C99 kein Problem
-
nwp2 schrieb:
C benutzen ist aber noch schlechter, weil dann der Schwachsinn mit "Variablen müssen am Anfang des Blocks definiert sein" und "//C++-Style Kommentare nicht erlaubt" und "class not defined" anfängt.
du benutzt doch GCC, oder? der kann C99 und spätestens ab da kannste auch //-comments benutzen und variablen hinsetzen wo du willst. was bedeutet denn: 'class not defined'?
nwp2 schrieb:
Ich habe nichmal eine IDE, weil der Aufwand Eclipse, Netbeans und Co zum laufen zu kriegen so extrem hoch ist, dass es sich für mich nicht lohnt. Im Moment benutze ich Scite + Commandline, da weiß ich wenigstens was ich tue.
heilige steinzeit! *fg* es gibt etliche C-IDEs für linux und windoofs (code-blocks, anjuta, usw). auf der kommandozeile mit manuellem makefile-gefrickel muss doch heute kein mensch mehr programmieren. *lol* (Java-IDEs für die C-programmierung würde ich aber auch nicht unbedingt bevorzugen. kann sein, dass netbeans in verbindung mit C was taugt, aber eclipse/CDT ist definitiv mist).
-
;fricky schrieb:
was bedeutet denn: 'class not defined'?
class ist die C++-Erweiterung für struct wo man es sich sparen kann das aufrufende Objekt mitzugeben und Konstruktor/Destruktor hat, was sehr der Übersicht dient.
;fricky schrieb:
heilige steinzeit! *fg* es gibt etliche C-IDEs für linux und windoofs (code-blocks, anjuta, usw). auf der kommandozeile mit manuellem makefile-gefrickel muss doch heute kein mensch mehr programmieren. *lol*
Ich habe nichts besseres QQ.
Aber irgendwie habt ihr schon recht. Ich werde mir mal codeblocks oder so ankucken, vielleicht kriegt man es ja ohne extremen Aufwand zum laufen.
Edit: wenn "ich" es ohne extremen Aufwand zum Laufen kriege, nicht "man". Ich habe festgestellt, dass es unglaublich talentierte Menschen gibt, die sogar Linux benutzen können.
-
nwp2 schrieb:
;fricky schrieb:
was bedeutet denn: 'class not defined'?
class ist die C++-Erweiterung für struct wo man es sich sparen kann das aufrufende Objekt mitzugeben und Konstruktor/Destruktor hat, was sehr der Übersicht dient.
häh? du bist nicht zufälligerweise volkard, der sich mit einem zweit-account tarnt, um verwirrung unter uns C-usern zu stiften? *fg*
nwp2 schrieb:
Ich werde mir mal codeblocks oder so ankucken, vielleicht kriegt man es ja ohne extremen Aufwand zum laufen.
ja, mach das, du wirst begeistert sein. unter windows ist es echt easy, einfach installieren und gleich loslegen. wie's sich unter linux anfühlt, kann ich dir leider nicht sagen, aber funzt da vermutlich auch ganz gut.
-
nwp2 schrieb:
Ich habe nichmal eine IDE, weil der Aufwand Eclipse, Netbeans und Co zum laufen zu kriegen so extrem hoch ist, dass es sich für mich nicht lohnt.
also ich kann verstehen was du meinst aber ich verwende easy eclipse denke dass machts doch schon echt einfach, noch easyer gehts nicht.http://www.easyeclipse.org/site/home/ lg lolo
-
Ok, code::blocks ist schonmal nichts für mich. Der Aufwand sowas hier zum laufen zu kriegen ist mir zuviel.
#include <stdio.h> int main(){ printf("hallo\n"); }
Ich mache mir ein Projekt (wozu eigentlich, ich will garkeins!), füge eine C-Datei ein, sage Run, "Projekt wurde noch nicht gebaut, wollen Sie es jetzt bauen?"->Ja->"Projekt wurde noch nicht gebaut, wollen Sie es jetzt bauen?"->Ja->"Projekt wurde noch nicht gebaut, wollen Sie es jetzt bauen?"->Ja->"Projekt wurde noch nicht gebaut, wollen Sie es jetzt bauen?"->lösche codeblocks.
Auch ein manuelles "build" bringt nix, "nothing to build". Ich weiß, mit einem Haufen Hacks läuft es irgendwann, aber bis dahin bin ich schon fertig
Ach ja, Installation inklusive MinGW, ist ja nicht so als hätte er keinen Compiler.Eclipse ist genauso, ich versuche es mal mit anjuta.
Edit: Ok, gibs nur für Linux. Bevor ich Gnome oder KDE wieder laufen habe ist es Weihnachten :xmas1:
Also bleibe ich bei Scite bis mein selbst geschriebener Editor fähig wird.
-
Wieso machst du ein Projekt? Mach ne leere .c datei und klick auf Build, fertig?
Bei Projekten geht das eigentlich genauso, kA was bei dir da kaputt ist (war)... bei mir ging das alles auf Anhieb.
-
nwp2 schrieb:
Also bleibe ich bei Scite bis mein selbst geschriebener Editor fähig wird.
ok, dann versuchs mal mit 'notepad.exe', oder besser noch: 'cmd.exe' und gib 'edit' ein. meinste, das kriegste hin? *fg*
-
Zum Glück funktioniert ed ohne den xserver
-
also statt über den editor zu debattieren sollte man sich doch auf das wesentliche konzentrieren, und das ist die programmierung, wer auf der konsole ohne syntax highlight und autocompletion und sonstige große und kleine helfer die einem das leben erleichtern entwickeln will kann das gerne machen, auch werden mich einige dafür hassen mit ner java ide(eclipse) c zu proggen, ich würd auch lieber vsc++ verwenden aber das kann ich mir nicht leisten:(
die tour de france gewinnt man heute auch nicht mehr mit nem stahl rad ohne gang schaltung
lg lolo
-
Scite hat Syntaxhighlighting und Folding. Was besseres unter 100mb scheint es nicht zu geben.
-
noobLolo schrieb:
auch werden mich einige dafür hassen mit ner java ide(eclipse) c zu proggen,
naja, ich hab eclipse/CDT/GCC vor einiger zeit mal ausprobiert, als ich noch keine entwicklungsumgebung für ARMs hatte. ich fands alles andere als berauschend. wenn du damit zufrieden bist, ist's doch OK. aber probier doch mal code:blocks, vielleicht gefällt dir das ja besser.
noobLolo schrieb:
ich würd auch lieber vsc++ verwenden aber das kann ich mir nicht leisten
es gibt eine freie version (schimpft sich 'express edition' oder so). die ist aber riesengross, schiebt dir eine menge müll auf die platte und der compiler ist noch nicht mal C99-fähig. lohnt sich also, meiner meinung nach, nicht.
-
früher oder später wirst dich doch mit einer ausgewachsenen ide anfreunden
-
noobLolo schrieb:
früher oder später wirst dich doch mit einer ausgewachsenen ide anfreunden
Schön wärs.
-
;fricky schrieb:
aber probier doch mal code:blocks
also der screenshot schaut schon sehr vielversprechend aus werd mir das gleich mal anschauen
-
nwp2 schrieb:
Das Verschieben würde ich irgendwie so machen:
verschlüsseltesZeichen = ((zuVerschlüsselndesZeichen>='a'&&zuVerschlüsselndesZeichen<='z') //a-z ||(zuVerschlüsselndesZeichen>='A'&&zuVerschlüsselndesZeichen<='Z'))? //A-Z (zuVerschlüsselndesZeichen-'a'+geheimeZahl)%26+'a': //a-z||A-Z-Zeichen werden bearbeitet zuVerschlüsselndesZeichen; //andere Zeichen bleiben gleich
hallo
könntest du das etwas verständlicher erläutern?
-
Wenn dir das mit dem ?: nichts sagt kuck mal hier: http://home.fhtw-berlin.de/~junghans/cref/SYNTAX/conditional.html.
Im Prinzip funktionierts so hier: Wert = Bedingung ? Wert wenn Bedingung wahr ist : Wert wenn Bedingung falsch ist. Tut dasselbe wieif(Bedingung) Wert = Wert wenn Bedingung wahr ist; else Wert = Wert wenn Bedingung falsch ist;
Und das habe ich dann benutzt.
verschlüsseltes Zeichen = zu verschlüsselndes Zeichen ist von a bis z oder A bis Z ? verschlüssel das Zeichen : verschlüssel das Zeichen nicht.Der Test, ob das zu verschlüsselnde Zeichen zwischen a und z oder A und Z liegt, ist ziemlich direkt in C ausgedrückt: zuVerschlüsselndesZeichen >= 'a' && zuVerschlüsselndesZeichen <= 'z'
Vielleicht war ich etwas geizig mit Leerzeichen. && ist ein logisches 'und' und || ist ein logisches 'oder'.Das Verschlüsseln geht so, dass zuerst das zu verschlüsselnde Zeichen in eine Zahl umgewandelt wird. Dabei ist a = 0, b = 1, ..., z = 25.
'a' ist eigentlich die ASCII-Nummer des Zeichens 'a'. Wenn man nun 'a'-'a' rechnet kommt 0 raus, 'b'-'a' ist 1, 'z'-'a' ist 25. Mir fällt gerade auf dass ich ein paar Sachen falsch gemacht habe, aber egal. Wenn wir also die Zahl durch zuVerschlüsselndesZeichen-'a' berechnet haben rechnen wir die geheime Zahl drauf und dann Modulo 25. Bei mir steht 26, ist aber falsch, geht nur bis 25 wegen der 0. Modulo 25, damit es nach dem 'z' wieder mit 'a' weitergeht. Und am Ende rechnen wir noch 'a' wieder drauf um aus der Zahl wieder das richtige ASCII-Zeichen zu machen.
Ich habe natürlich unterschlagen, dass man bei Großbuchstaben natürlich 'A' und nicht 'a' abziehen und addieren muss.Also nochmal:
verschlüsseltesZeichen = (zuVerschlüsselndesZeichen>='a'&&zuVerschlüsselndesZeichen<='z') ? //Wenn Zeichen von a-z dann (zuVerschlüsselndesZeichen-'a'+geheimeZahl)%25+'a' : //verschlüsseln mit 'a'-Trick ansonsten (zuVerschlüsselndesZeichen>='A'&&zuVerschlüsselndesZeichen<='Z') ? //Wenn Zeichen von A-Z dann (zuVerschlüsselndesZeichen-'A'+geheimeZahl)%25+'A' : //verschlüsseln mit 'A'-Trick, ansonsten zuVerschlüsselndesZeichen; //lassen wir das Zeichen so wie es ist //dasselbe nochmal mit if und else if (zuVerschlüsselndesZeichen>='a'&&zuVerschlüsselndesZeichen<='z') //Wenn Zeichen von a-z dann verschlüsseltesZeichen = (zuVerschlüsselndesZeichen-'a'+geheimeZahl)%25+'a'; //verschlüsseln mit 'a'-Trick else if (zuVerschlüsselndesZeichen>='A'&&zuVerschlüsselndesZeichen<='Z') //ansonsten wenn Zeichen von A-Z dann verschlüsseltesZeichen = (zuVerschlüsselndesZeichen-'A'+geheimeZahl)%25+'A'; //verschlüsseln mit 'A'-Trick else verschlüsseltesZeichen = zuVerschlüsselndesZeichen; //ansonsten lassen wir das Zeichen so wie es ist
Hat das geholfen oder bist du komplett verwirrt?