QStrings mittels XOR verknüpfen

Du bist neu in der Welt von C++? Dann schau hier herein!
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Curtis Newton hat geschrieben: Sorry nochmal.
C.

Code: Alles auswählen

QBitArray to_bitarray(QString &str)
{
	QBitArray array(str.size());

	for(int i=0; i<array.size(); i++)
	{
		array[i]=str[i].toAscii() == '1' ? true : false;
	}

	return array;
}

QString to_str(QBitArray &array)
{
	QString str;
	str.resize(array.size());

	for(int i=0; i<str.size(); i++)
	{
		str[i]=array[i] ? '1' : '0';
	}

	return str;
}

QString str1("1010");
	QString str2("1100");

	QBitArray xorarray=to_bitarray(str1) ^ to_bitarray(str2);
	QString xorstr=to_str(xorarray);

C.
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

hi und thx
deine Umwandlungsmethode geht doch nur wenn ein string nur
aus 1en und 0en besteht also aus denen als Zeichen oder?
z.B."10101011010110"
oder?

irods
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

Hehe hab gerade heraus gefunden das ne ganz normale char Variable
^(xor) unterstützt xD (wie geil)
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Ist ja waaaaahnsinn... hat androphinx vor 12h in seinem Beispiel denn Kartoffeln verwendet?
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

wahrscheinlich hab ich das....

nene, inzwischen hab ich es auch getestet, funktioniert einwandfrei.

Mfg androphinx
s-valve
Beiträge: 87
Registriert: 1. April 2007 15:03
Kontaktdaten:

QChar kann kein XOR

Beitrag von s-valve »

Also ich bekomme auch den u.g. Fehler, wenn ich ein XOR mit Char probieren. Also wie bitte habt Ihr das hinbekommen???

Code: Alles auswählen

QString sum = QChar(sum.at(i).toAscii() ^ str.at(i).toAscii());

Code: Alles auswählen

/usr/include/qt4/QtCore/qbytearray.h:349: Fehler: »QByteArray::operator QNoImplicitBoolCast() const« ist privat 
mykrypt.cpp:100: Fehler: in diesem Zusammenhang
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Code von Androphinix

Code: Alles auswählen

QString crypt (QString text, QString passwd) 
{ 
  QString crypted(text.length()); 

  for(int i = 0; i < text.length(); i++) 
  { 
    crypted[i] = QChar(text.at(i).toAscii() ^ passwd.at(i % passwd.lenght()).toAscii()); 
  } 

  return QString(crypted); 
}

Wer hat die sowas beigebracht???? Aber kannst froh sein das es deinCompiler nicht ulässt da es dir sonst zur Laufzeit um dieOhren fliegt ;-)

Code: Alles auswählen

QString sum = QChar(sum.at(i).toAscii() ^ str.at(i).toAscii());
s-valve
Beiträge: 87
Registriert: 1. April 2007 15:03
Kontaktdaten:

Beitrag von s-valve »

hat sich erledigt
Antworten