Warum geht das nicht?

reBourne

Erfahrenes Mitglied
Code:
// keyabfrage.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include "windows.h"

#include "stdio.h"


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

	int a;


	char code_in[18] = "parileafg12m25e1H";

	char hash[6] = "regme";

	char hash_of_code[sizeof(hash)] = "12345";

	int hashstep = 3;				// sizeof(code_in)-1 , sizeof(hash)-1
	
	int i;

	for (i = hashstep; i >= sizeof (code_in); i = i+hashstep)

	{
		
		hash_of_code[i] = code_in[i];
		
	}
	
	if ( hash_of_code == hash )

	{

		printf ( "key is ok" );

	}

	else

	{

		printf ( "key is wrong\n" );

	}
	
	printf (hash_of_code);
	printf ("\n");
	printf (hash);
	printf ("\n");
	printf (code_in);

	scanf("a");
	
	return 0;
}

?
 
Allgemeine Frage, allgemeine Antwort: Vermutlich, weil du was falsch gemacht hast!

Sei mir nicht böse, aber du würdest den Leuten im Forum viel Arbeit sparen, wenn du deine Frage etwas konkreter stellen könntest. Ausserdem solltest du Codetags verwenden, wenn du Code postest. ( [ CODE ] )

Nebenbei, hier ist etwas falsch:
Code:
 scanf("a");
 
Zuletzt bearbeitet:
Das hier sollte eigendlich auch nicht gehen
Code:
if ( hash_of_code == hash )

stattdessen solltest du das so machen

Code:
if ( strcmp(hash_of_code,hash) == 0 )


Aber Kachelator hat wie fast immer Recht, stell bitte deine Frage kontrekter, sonst denn keiner weiss genau was dein Programm überhaupt bezweckt, oder wo dein Problem genau ist...
 
MFC openGL hat gesagt.:
Aber Kachelator hat wie fast immer Recht, stell bitte deine Frage kontrekter, sonst denn keiner weiss genau was dein Programm überhaupt bezweckt, oder wo dein Problem genau ist...
Danke für die Blumen!

Exkurs:
Ich bin der Meinung, dass es absolut in Ordnung ist, eine möglichst genaue Problembeschreibung und Fragestellung sowie ordentlich aufbereiteten Code zu verlangen, einfach um den Aufwand (== Zeit) für die Beantwortung der Frage zu minimieren. Dies dauert (vermutlich) ohnehin schon häufig länger als das Stellen einer Frage.
 
Zuletzt bearbeitet:
Kachelator hat gesagt.:
Danke für die Blumen!

Exkurs:
Ich bin der Meinung, dass es absolut in Ordnung ist, eine möglichst genaue Problembeschreibung und Fragestellung sowie ordentlich aufbereiteten Code zu verlangen, einfach um den Aufwand (== Zeit) für die Beantwortung der Frage zu minimieren. Dies dauert (vermutlich) ohnehin schon häufig länger als das Stellen einer Frage.


Hehe, für dich immer.... Wer soviel Zeit und Aufwand investiert, nur um anderen Leuten bei Problemen zu helfen hat das verdient !

Bin ebenso der Meinung das man versuchen sollte die Frage so genau wie möglich zu stellen, alleine um es dem Beantwortenden zu erleichtern, einige Möglichkeiten auszuschließen...
 
@ Spaco , wieso bindest du "window.h" ein?
Soweit ich sehe , braucht man dafür keine Windwos spezifischen Informationen.
Es wäre ganz hilfreich, wenn du sagen würdest, was das Programm genau bezwecken soll, so ist es leichter Fehler zu finden.
 
Oh Danke! Ich bin totaler newbie und mache grad ein Praktikum bei Cryptovision ! :rolleyes:

Die Windows.h hab ich eingebunden,weil ich die Registriegung noch einbinden möchte!
 
naja das problem ist nun eigentlich folgendes:

ich möchte einzelne zeichen aus meinem char array code_in in hash_of_code einlesen.

aus pascal bin ich gewohnt, einzelne zeichen eines strings mit stringvar[ i ] ansprechen zu können. aber wie geht das in c++? hab schon viel gegooglet aber nix gescheites gefunden.

laut einer referenz kann ich mit der string.h auch strings deklarieren, aber das klappt bei mir nicht, string sei nicht deklariert heißt es.

nunja ich hoffe das problem ist jetzt konkreter gestellt.

das programm soll im endeffekt eine art hash überprüfen, einen ganz primitiven: als hash wird jeder 3te buchstabe von code_in in einen neuen char hintereinandergesetzt. am ende will ich daraus ein programm machen, das registrierungsschlüssel überprüft, wie das bei shareware auch funktioniert. zunächst will ich da aber nur ganz primitiv anfangen, weil ich gestern erst mit c++ angefangen hab :)
 
moin


Wenn du einen char-String hast kannst du, wie du es gewohnt bist, auf die einzelnen Elemente zugreifen.

Code:
char text[20]={"Dies ist ein Satz"};

cout<< text[0];
cout<< text[5];
cout<< text[10];

Und per google findet man sehr viel nützliches zu dem Thema!
Erster Versuch, erstes Ergebnis: http://www.cplusplus.com/doc/tutorial/tut3-2.html


mfg
umbrasaxum
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück