Fehler : 'const char *' in 'unsigned char []' nicht möglich

09/24/2012 22:57 HDTill#1
Guten Abend,

Ich hoffe mir kann jemand zu später stunde noch helfen.

Ich bin gerade dabei einen kleinen Emulator zu schreiben für das Spiel : NosTale die Encryption/Decryption (Funktionen) würden von -Trollface Releast doch leider bekommen ich bei einer Funktion einen Error beim Compilen und einen Error im Code

Die Funktion sieht so aus ::
Code:
std::string DecryptGamePacket(int session_id, unsigned char *str, int length)
{
 	std::string encrypted_string = "";
	int session_key = session_id & 0xFF;
    unsigned char session_number = session_id >> 6;
    session_number &= 0xFF;
    session_number &= 0x80000003;

    switch (session_number)
	{
    case 0:
    	for (int i = 0; i < length; i++)
        {
                unsigned char firstbyte = session_key + 0x40;
                unsigned char highbyte = str[i] - firstbyte;
                encrypted_string += highbyte;
		}
    break;

    case 1:
    	for (int i = 0; i < length; i++)
        {
                unsigned char firstbyte = session_key + 0x40;
				unsigned char highbyte = str[i] + firstbyte;
				encrypted_string += highbyte;
        }
    break;

    case 2:
    	for (int i = 0; i < length; i++)
		{
                unsigned char firstbyte = session_key + 0x40;
                unsigned char highbyte = str[i] - firstbyte ^ 0xC3;
                encrypted_string += highbyte;
        }
    break;

	case 3:
		for (int i = 0; i < length; i++)
        {
                unsigned char firstbyte = session_key + 0x40;
                unsigned char highbyte = str[i] + firstbyte ^ 0xC3;
				encrypted_string += highbyte;
        }
	break;

    default:
    	encrypted_string += 0xF;
	break;
    }

	std::vector<std::string> temp = split(encrypted_string, 0xFF);
	std::string save;

	for (int i = 0; i < temp.size(); i++)
    {
		save += DecryptGamePacket2(temp[i].c_str());
        save += 0xFF;
    }

    return save;
 }
im Editor(Vs 2010) ist dieser Punkt Rot unterstrichen
save += DecryptGamePacket2(temp[i].c_str());

Wenn ich den Code Compilen will bekomme ich diesen Fehler
Code:
Fehler : 6 error C2664: 'DecryptGamePacket2': Konvertierung des Parameters 1 von 'const char *' in 'unsigned char []' nicht möglich
Ich habe schon Google benutzt doch finde ich nichts wirklich hilfreiches deswegen dachte ich mir Elitepvpers hat ja nicht umsonst einen C++ bereich :) vlt hat jemand für mich einen Hot-Fix ? wer sehr sehr sehr Dankbar

PS : Ich Benutze Visual Studio C++ 2010


Mit freundlichen Grüßen HDTill
09/24/2012 23:25 Dr. Coxxy#2
lern die gottverdammte sprache und hör auf sinnlos zu copypasten...
Code:
save += DecryptGamePacket2((unsigned char*) temp[i].c_str());
09/24/2012 23:51 HDTill#3
Quote:
lern die gottverdammte sprache und hör auf sinnlos zu copypasten...
C++ A-Z Sollte am Mittwoch da sein solange versuch ich es so aber danke für den Fix :)
09/25/2012 00:19 Dr. Coxxy#4
sobald es da ist direkt in die tonne damit und ordentliches buch wie [Only registered and activated users can see links. Click Here To Register...] kaufen
09/25/2012 00:33 HDTill#5
Quote:
sobald es da ist direkt in die tonne damit und ordentliches buch wie Einführung in die Programmierung mit C++ (Pearson Studium - IT): Amazon.de: Bjarne Stroustrup: Bücher kaufen
Okay also sollte ich mir das auch bestellen ?

Also ich habe gehört A-Z soll gut sein wenn man was nach schlagen will ?
09/25/2012 01:30 Dr. Coxxy#6
zum nachschlagen wirds wohl ok sein, aber zum lernen wohl kaum.