Anhängsel am String - was ist das?
-
Servus,
ich schaue mir Zeichenketten an und nach einem Blick in meinem Debugger zu einer Zeichenkette wundere ich mich warum da so ein Anhang ist und was dieser bedeutet?
Debug-Angabe zur Variable, alles was vor dem Kommentarzeichen '//' kommt ist der erwartete String:
0x805def0 "QQQQQQQSQ-SK--ASRRGKQMREDSSMR-KVQGY-EPGMKSS-PKSARSNSTAISVAQAHKES---ET--RVSS--S-AGSSG-SSSSA-SPKAAS--QHGDDANSAN-----AKKSARKS-TK-SSRAARPDQRVSSAAAPATVQQAFPDAERH-HKHS---QAGVEAATRAYAAAENLRRPA--TRQDKK--SS--KSNQ--VLAKLRKQSKPAERCMRPFDHSS---GERK-PGKSDK-QAEQS-DDNSG---ASP-RER-NQSTASAATNQLQ-RSSLK-----KNEAREAPQQSKR----VNSKKESSKP-VHKQEITVVQAVS--Q-N----R-IP-QSAASSTSPQTQLSQ-V-SQQQRPSEASTEVKSSTNKAN---ETQAHNEKRSASQAL----QWTEPN-HS-RYEPRSSN-SQSASI-AKQK--PKEYNKDVSDPPKDRQKRPALGLAGKNT-STEG-EP-KMQAAPRA--QQHCQAEAA-DSEQQQRQA---SKVARNK\\340\\005\\bP\\337\\005\\b\\320\\340\\005\\b\\220\\340\\005\\bSl\315\267\\v"
-
War zufälligerweise ein C-String?
Jay1980 schrieb:
Debug-Angabe zur Variable, alles was vor dem Kommentarzeichen '//' kommt ist der erwartete String:
Ich sehe hier nirgendwo dieses Kommentarzeichen...
-
Der Debugger weiß nicht, wo der String aufhört. Der nimmt an, er wäre nullterminiert und zeigt Dir Quatsch bis zum nächsten char(0) an.
-
[Rewind] schrieb:
War zufälligerweise ein C-String?
Jay1980 schrieb:
Debug-Angabe zur Variable, alles was vor dem Kommentarzeichen '//' kommt ist der erwartete String:
Ich sehe hier nirgendwo dieses Kommentarzeichen...
Weil er auch '\' Meint, wie es scheint.

-
Okay, aber mein Problem ist immer noch nicht gelöst ... ich kann mir das nicht erklären.
Die Funktion liefert mir in der Fassung 1 so wie man sie unten sieht als Returnwert: 4.3xxx . Ich erwarte aber den Wert 4.0xxxx und den erhalte ich komischerweise, wenn ich die beiden Strings, die ich als Parameter einreiche hart in der Funktion verdrahte ... wie kann das sein, wo kann ich noch nach 'Fehlern' suchen?
Die Konsolenausgabe:
QQQQQQQSQ-SK--ASRRGKQMREDSSMR-KVQGY-EPGMKSS-PKSARSNSTAISVAQAHKES---ET--RVSS--S-AGSSG-SSSSA-SPKAAS--QHGDDANSAN-----AKKSARKS-TK-SSRAARPDQRVSSAAAPATVQQAFPDAERH-HKHS---QAGVEAATRAYAAAENLRRPA--TRQDKK--SS--KSNQ--VLAKLRKQSKPAERCMRPFDHSS---GERK-PGKSDK-QAEQS-DDNSG---ASP-RER-NQSTASAATNQLQ-RSSLK-----KNEAREAPQQSKR----VNSKKESSKP-VHKQEITVVQAVS--Q-N----R-IP-QSAASSTSPQTQLSQ-V-SQQQRPSEASTEVKSSTNKAN---ETQAHNEKRSASQAL----QWTEPN-HS-RYEPRSSN-SQSASI-AKQK--PKEYNKDVSDPPKDRQKRPALGLAGKNT-STEG-EP-KMQAAPRA--QQHCQAEAA-DSEQQQRQA---SKVARNK
LILLL-LLVLLLILK-ILPLPLIQILLNLLILKMV--VLK-LLLL-LY-LILLLMIY-LLIMI-LLKLLLL-LLFLQEGLLLLIMMLTID-FLLLRLSILVL-LLV-ILIMIASTYLILLQVLS-LGIWILILLLVF-ILHLLIF-LLRLLLLLLMLLELL-ILLILTLLLLPTSLASLL-IL-LLKLLSGLILIGFLLMKLINLLLIL--LFFLLLLLLLLLMLVLYAILMLII-LL-LI-II-LLLKFLILLML-IFLLLIKLIKFVMILLLLLLLML-RTFL-I-ILLEVLLILDLLMI-SIL-LLIVFLLIKL--ALIIIRL-ISMMIYVAFPL--TIVFLLLL-VGLL-PLLYVPALIICTLELKILLIVIL-LIILKLLLL-IKLLLPILILMLTL-MLLLTLM--LLFLLTLL-ALMLLLLLLLLEV--LLSVL-LLLEILLLMLLLLSTLLIVKLLQLLLLVMLA-AMPLLQILI-MLCLLFLSVITLCAQLIYL-LLI-LLLLL
s1Ent: 2.59185, s2Ent: 1.99281, spEnt: 4.32199, uval: 0.114587;Die Funktion:
double CurveFit::getPairEntropyOfColumnsStrings(seqan::CharString colStringOne, seqan::CharString colStringTwo, int numberOfSeqs) { typedef std::map< std::string, int > PeMapType; typedef PeMapType::value_type PeValuePair; PeMapType hitsOnlyList; // Trefferliste seqan::CharString currentFirstColumnString = colStringOne; // Spaltenstring Eins seqan::CharString currentSecondColumnString = colStringTwo; // Spaltenstring Zwei cout << currentFirstColumnString << "\n"; cout << currentSecondColumnString << "\n"; //seqan::CharString currentFirstColumnString = "QQQQQQQSQ-SK--ASRRGKQMREDSSMR-KVQGY-EPGMKSS-PKSARSNSTAISVAQAHKES---ET--RVSS--S-AGSSG-SSSSA-SPKAAS--QHGDDANSAN-----AKKSARKS-TK-SSRAARPDQRVSSAAAPATVQQAFPDAERH-HKHS---QAGVEAATRAYAAAENLRRPA--TRQDKK--SS--KSNQ--VLAKLRKQSKPAERCMRPFDHSS---GERK-PGKSDK-QAEQS-DDNSG---ASP-RER-NQSTASAATNQLQ-RSSLK-----KNEAREAPQQSKR----VNSKKESSKP-VHKQEITVVQAVS--Q-N----R-IP-QSAASSTSPQTQLSQ-V-SQQQRPSEASTEVKSSTNKAN---ETQAHNEKRSASQAL----QWTEPN-HS-RYEPRSSN-SQSASI-AKQK--PKEYNKDVSDPPKDRQKRPALGLAGKNT-STEG-EP-KMQAAPRA--QQHCQAEAA-DSEQQQRQA---SKVARNK"; //seqan::CharString currentSecondColumnString = "LLLILLLLL-LL--LLIRLKLLLLLLLLQ-LLIGL-LLLLLLLLVTLLILKLLALLLLIMGLSL---WLVILLLFLLILMLFLL-LLLLLLICLLLGLLLLKIVSLKTL-----LLLLMFLLLPLFIFMLLLLLIVLLLITTLMLLMNMLLLLVILLLILYL--LTVLLLMLTLMLLLKLIIALLLLLLLLLL--ILLLLLLILLELLSVLIMRLPKPCLAGLLKLLL---LIRIFLIHLLLLLIALN-LMLES---LIP-LLIILVLLLYFRFLLIILLIIII-----ILKILEMLLLLIIL-LLVTIQLELLFVLLLMIDTLVLLIFIF-LLF-IILL-LLVIYPMLIIYVVLLLFQ-L-MLLLQPILLILLLVPIMLILS---LAILLVMLVLLILLEV-I-TVLLLS-LM-LLSKLLLFLLLLLIKLLAII--KLCKLIAVLATTFLIYEIVLLLLLGILD-FMIYIIILAQSMMKIL--ILALLMMLMISITSIKQILL--LYILPSL"; int numberOfAllOccurances = 0; int seqListSize = numberOfSeqs; // HitList als Map bestuecken int colStringLength = seqan::length(currentFirstColumnString); for (int colIndexCount = 0; colIndexCount < colStringLength; colIndexCount++) { std::string curCharString; curCharString.append(1, currentFirstColumnString[ colIndexCount ]); curCharString.append(1, currentSecondColumnString[ colIndexCount ]); PeMapType::const_iterator peIter; peIter = hitsOnlyList.find(curCharString); if (peIter != hitsOnlyList.end()) { hitsOnlyList[ curCharString ] += 1; numberOfAllOccurances++; } else // noch nicht drin { hitsOnlyList.insert(PeValuePair(curCharString, 1)); numberOfAllOccurances++; } } double entropy = 0.0; PeMapType::const_iterator bucketIter = hitsOnlyList.begin(); while (bucketIter != hitsOnlyList.end()) { int f = (*bucketIter).second; double currentRelativeF = (((double) f) / ((double) numberOfAllOccurances)); double currentEntropy = (-(currentRelativeF * log(currentRelativeF))); entropy = entropy + currentEntropy; ++bucketIter; } return entropy; }
-
Komisch, die Strings scheinen nur oberflächlich 'gleich' zu sein. Ich sammle immer die beiden Symbole an der gleichen Position und zähle deren Aufkommen. Bei gleichen Strings sollte die Ergebnismap also gleich ausfallen, allerdings sieht die Map so aus:
... Map mit erwarteten Ergebnis:
Map mit erwartetem Endwert:
Mapkey: --; Mapvalue: 51
Mapkey: -F; Mapvalue: 3
Mapkey: -I; Mapvalue: 7
Mapkey: -L; Mapvalue: 28
Mapkey: -V; Mapvalue: 3
Mapkey: AA; Mapvalue: 1
Mapkey: AF; Mapvalue: 1
Mapkey: AI; Mapvalue: 4
Mapkey: AK; Mapvalue: 1
Mapkey: AL; Mapvalue: 32
Mapkey: AM; Mapvalue: 12
Mapkey: AP; Mapvalue: 1
Mapkey: AR; Mapvalue: 1
Mapkey: AS; Mapvalue: 1
Mapkey: AT; Mapvalue: 4
Mapkey: CL; Mapvalue: 2
Mapkey: DA; Mapvalue: 2
Mapkey: DI; Mapvalue: 1
Mapkey: DK; Mapvalue: 1
Mapkey: DL; Mapvalue: 7
Mapkey: DM; Mapvalue: 1
Mapkey: DS; Mapvalue: 1
Mapkey: DV; Mapvalue: 1
Mapkey: EA; Mapvalue: 1
Mapkey: EC; Mapvalue: 1
Mapkey: ED; Mapvalue: 1
Mapkey: EE; Mapvalue: 2
Mapkey: EI; Mapvalue: 3
Mapkey: EK; Mapvalue: 2
Mapkey: EL; Mapvalue: 8
Mapkey: EM; Mapvalue: 2
Mapkey: EP; Mapvalue: 1
Mapkey: ES; Mapvalue: 2
Mapkey: ET; Mapvalue: 1
Mapkey: EV; Mapvalue: 1
Mapkey: EW; Mapvalue: 1
Mapkey: FL; Mapvalue: 2
Mapkey: GG; Mapvalue: 2
Mapkey: GI; Mapvalue: 1
Mapkey: GK; Mapvalue: 1
Mapkey: GL; Mapvalue: 6
Mapkey: GS; Mapvalue: 1
Mapkey: GV; Mapvalue: 1
Mapkey: GY; Mapvalue: 1
Mapkey: HA; Mapvalue: 1
Mapkey: HG; Mapvalue: 1
Mapkey: HL; Mapvalue: 8
Mapkey: IK; Mapvalue: 1
Mapkey: IL; Mapvalue: 2
Mapkey: IT; Mapvalue: 1
Mapkey: KA; Mapvalue: 2
Mapkey: KE; Mapvalue: 1
Mapkey: KF; Mapvalue: 2
Mapkey: KH; Mapvalue: 1
Mapkey: KI; Mapvalue: 10
Mapkey: KK; Mapvalue: 1
Mapkey: KL; Mapvalue: 18
Mapkey: KM; Mapvalue: 1
Mapkey: KQ; Mapvalue: 1
Mapkey: KS; Mapvalue: 1
Mapkey: KT; Mapvalue: 1
Mapkey: KV; Mapvalue: 1
Mapkey: KY; Mapvalue: 1
Mapkey: LE; Mapvalue: 1
Mapkey: LI; Mapvalue: 3
Mapkey: LL; Mapvalue: 4
Mapkey: LV; Mapvalue: 1
Mapkey: MA; Mapvalue: 1
Mapkey: ML; Mapvalue: 3
Mapkey: MQ; Mapvalue: 1
Mapkey: NF; Mapvalue: 2
Mapkey: NK; Mapvalue: 1
Mapkey: NL; Mapvalue: 11
Mapkey: NS; Mapvalue: 3
Mapkey: NT; Mapvalue: 1
Mapkey: NV; Mapvalue: 1
Mapkey: PC; Mapvalue: 1
Mapkey: PI; Mapvalue: 1
Mapkey: PK; Mapvalue: 3
Mapkey: PL; Mapvalue: 10
Mapkey: PP; Mapvalue: 3
Mapkey: PT; Mapvalue: 2
Mapkey: PV; Mapvalue: 4
Mapkey: QI; Mapvalue: 13
Mapkey: QK; Mapvalue: 1
Mapkey: QL; Mapvalue: 26
Mapkey: QM; Mapvalue: 2
Mapkey: QN; Mapvalue: 1
Mapkey: QQ; Mapvalue: 1
Mapkey: QS; Mapvalue: 2
Mapkey: QT; Mapvalue: 1
Mapkey: QV; Mapvalue: 2
Mapkey: QY; Mapvalue: 1
Mapkey: RA; Mapvalue: 1
Mapkey: RC; Mapvalue: 1
Mapkey: RF; Mapvalue: 1
Mapkey: RG; Mapvalue: 1
Mapkey: RI; Mapvalue: 9
Mapkey: RL; Mapvalue: 11
Mapkey: RM; Mapvalue: 1
Mapkey: RP; Mapvalue: 1
Mapkey: RQ; Mapvalue: 3
Mapkey: RR; Mapvalue: 2
Mapkey: RT; Mapvalue: 1
Mapkey: RV; Mapvalue: 2
Mapkey: SE; Mapvalue: 1
Mapkey: SF; Mapvalue: 5
Mapkey: SG; Mapvalue: 1
Mapkey: SI; Mapvalue: 16
Mapkey: SK; Mapvalue: 1
Mapkey: SL; Mapvalue: 39
Mapkey: SM; Mapvalue: 2
Mapkey: SN; Mapvalue: 1
Mapkey: SP; Mapvalue: 1
Mapkey: SR; Mapvalue: 1
Mapkey: SY; Mapvalue: 4
Mapkey: TA; Mapvalue: 1
Mapkey: TD; Mapvalue: 1
Mapkey: TF; Mapvalue: 1
Mapkey: TI; Mapvalue: 1
Mapkey: TL; Mapvalue: 10
Mapkey: TM; Mapvalue: 2
Mapkey: TP; Mapvalue: 1
Mapkey: VE; Mapvalue: 1
Mapkey: VF; Mapvalue: 1
Mapkey: VI; Mapvalue: 1
Mapkey: VL; Mapvalue: 10
Mapkey: VV; Mapvalue: 3
Mapkey: WV; Mapvalue: 1
Mapkey: YK; Mapvalue: 1
Mapkey: YL; Mapvalue: 2
Mapkey: YM; Mapvalue: 1
s1Ent: 2.59185, s2Ent: 1.99281, spEnt: 4.04611, uval: 0.234939;... Map mit auffälligem Ergebnis:
Map mit auffälligem Endwert
Mapkey: --; Mapvalue: 15
Mapkey: -A; Mapvalue: 2
Mapkey: -F; Mapvalue: 3
Mapkey: -G; Mapvalue: 1
Mapkey: -I; Mapvalue: 14
Mapkey: -K; Mapvalue: 3
Mapkey: -L; Mapvalue: 37
Mapkey: -M; Mapvalue: 8
Mapkey: -N; Mapvalue: 1
Mapkey: -P; Mapvalue: 2
Mapkey: -Q; Mapvalue: 1
Mapkey: -S; Mapvalue: 3
Mapkey: -T; Mapvalue: 1
Mapkey: -V; Mapvalue: 1
Mapkey: A-; Mapvalue: 2
Mapkey: AA; Mapvalue: 1
Mapkey: AD; Mapvalue: 1
Mapkey: AF; Mapvalue: 1
Mapkey: AH; Mapvalue: 1
Mapkey: AI; Mapvalue: 10
Mapkey: AK; Mapvalue: 2
Mapkey: AL; Mapvalue: 28
Mapkey: AM; Mapvalue: 1
Mapkey: AR; Mapvalue: 2
Mapkey: AS; Mapvalue: 2
Mapkey: AT; Mapvalue: 3
Mapkey: AV; Mapvalue: 3
Mapkey: AY; Mapvalue: 1
Mapkey: CL; Mapvalue: 2
Mapkey: D-; Mapvalue: 1
Mapkey: DF; Mapvalue: 1
Mapkey: DG; Mapvalue: 1
Mapkey: DI; Mapvalue: 3
Mapkey: DL; Mapvalue: 6
Mapkey: DM; Mapvalue: 1
Mapkey: DT; Mapvalue: 1
Mapkey: E-; Mapvalue: 1
Mapkey: EC; Mapvalue: 1
Mapkey: EE; Mapvalue: 1
Mapkey: EF; Mapvalue: 1
Mapkey: EI; Mapvalue: 4
Mapkey: EK; Mapvalue: 1
Mapkey: EL; Mapvalue: 14
Mapkey: EQ; Mapvalue: 1
Mapkey: ET; Mapvalue: 1
Mapkey: EV; Mapvalue: 1
Mapkey: FL; Mapvalue: 1
Mapkey: FM; Mapvalue: 1
Mapkey: GI; Mapvalue: 1
Mapkey: GK; Mapvalue: 1
Mapkey: GL; Mapvalue: 7
Mapkey: GM; Mapvalue: 2
Mapkey: GP; Mapvalue: 1
Mapkey: GV; Mapvalue: 1
Mapkey: H-; Mapvalue: 1
Mapkey: HC; Mapvalue: 1
Mapkey: HI; Mapvalue: 1
Mapkey: HL; Mapvalue: 4
Mapkey: HM; Mapvalue: 1
Mapkey: HV; Mapvalue: 2
Mapkey: II; Mapvalue: 2
Mapkey: IL; Mapvalue: 1
Mapkey: IM; Mapvalue: 1
Mapkey: K-; Mapvalue: 7
Mapkey: KA; Mapvalue: 2
Mapkey: KE; Mapvalue: 2
Mapkey: KF; Mapvalue: 1
Mapkey: KI; Mapvalue: 7
Mapkey: KL; Mapvalue: 14
Mapkey: KM; Mapvalue: 3
Mapkey: KP; Mapvalue: 1
Mapkey: KQ; Mapvalue: 1
Mapkey: KS; Mapvalue: 1
Mapkey: KV; Mapvalue: 1
Mapkey: KY; Mapvalue: 1
Mapkey: L-; Mapvalue: 2
Mapkey: LI; Mapvalue: 1
Mapkey: LL; Mapvalue: 4
Mapkey: LT; Mapvalue: 2
Mapkey: MK; Mapvalue: 1
Mapkey: ML; Mapvalue: 2
Mapkey: MM; Mapvalue: 1
Mapkey: MN; Mapvalue: 1
Mapkey: N-; Mapvalue: 2
Mapkey: NA; Mapvalue: 1
Mapkey: NI; Mapvalue: 4
Mapkey: NK; Mapvalue: 1
Mapkey: NL; Mapvalue: 10
Mapkey: NV; Mapvalue: 1
Mapkey: P-; Mapvalue: 1
Mapkey: PA; Mapvalue: 1
Mapkey: PE; Mapvalue: 1
Mapkey: PK; Mapvalue: 1
Mapkey: PL; Mapvalue: 15
Mapkey: PM; Mapvalue: 1
Mapkey: PQ; Mapvalue: 1
Mapkey: PS; Mapvalue: 1
Mapkey: PV; Mapvalue: 2
Mapkey: Q-; Mapvalue: 3
Mapkey: QA; Mapvalue: 1
Mapkey: QC; Mapvalue: 1
Mapkey: QD; Mapvalue: 1
Mapkey: QF; Mapvalue: 1
Mapkey: QI; Mapvalue: 5
Mapkey: QK; Mapvalue: 2
Mapkey: QL; Mapvalue: 24
Mapkey: QM; Mapvalue: 2
Mapkey: QP; Mapvalue: 2
Mapkey: QQ; Mapvalue: 1
Mapkey: QS; Mapvalue: 1
Mapkey: QT; Mapvalue: 1
Mapkey: QV; Mapvalue: 3
Mapkey: QY; Mapvalue: 2
Mapkey: R-; Mapvalue: 4
Mapkey: RI; Mapvalue: 9
Mapkey: RK; Mapvalue: 1
Mapkey: RL; Mapvalue: 17
Mapkey: RP; Mapvalue: 1
Mapkey: RV; Mapvalue: 1
Mapkey: RW; Mapvalue: 1
Mapkey: S-; Mapvalue: 8
Mapkey: SA; Mapvalue: 1
Mapkey: SE; Mapvalue: 2
Mapkey: SF; Mapvalue: 6
Mapkey: SG; Mapvalue: 2
Mapkey: SI; Mapvalue: 8
Mapkey: SK; Mapvalue: 1
Mapkey: SL; Mapvalue: 36
Mapkey: SM; Mapvalue: 2
Mapkey: SR; Mapvalue: 1
Mapkey: ST; Mapvalue: 1
Mapkey: SV; Mapvalue: 2
Mapkey: SY; Mapvalue: 2
Mapkey: T-; Mapvalue: 1
Mapkey: TF; Mapvalue: 1
Mapkey: TG; Mapvalue: 1
Mapkey: TI; Mapvalue: 1
Mapkey: TL; Mapvalue: 8
Mapkey: TP; Mapvalue: 1
Mapkey: TQ; Mapvalue: 1
Mapkey: TS; Mapvalue: 1
Mapkey: TT; Mapvalue: 1
Mapkey: TV; Mapvalue: 1
Mapkey: V-; Mapvalue: 3
Mapkey: VA; Mapvalue: 1
Mapkey: VF; Mapvalue: 1
Mapkey: VL; Mapvalue: 6
Mapkey: VR; Mapvalue: 1
Mapkey: VS; Mapvalue: 1
Mapkey: VT; Mapvalue: 1
Mapkey: VV; Mapvalue: 1
Mapkey: VY; Mapvalue: 1
Mapkey: WL; Mapvalue: 1
Mapkey: YL; Mapvalue: 2
Mapkey: YS; Mapvalue: 1
Mapkey: YV; Mapvalue: 1
s1Ent: 2.59185, s2Ent: 1.99281, spEnt: 4.32199, uval: 0.114587;Danke vorab für ein paar Ideen.
-
Hat sich erübrigt ... die Strings waren offensichtlich doch nicht gleich ....
-
Mal ernsthaft: Was erwartest du von solchen Beiträgen? Wie wäre es mal mit Minimalbeispielen oder konkreten Fragen?
Wenn ich deine Beiträge in diesem Thread sehe, sehe ich zusammenfassend dies:
REV%$ EH>@%^V@J Y^ V^< K @O@^K HTKH @%B KTOGT LO%^MKH OTMK@ TY@%^ GM@RKYMCOEWTM M L%^M LM< L%^Y< PL<TR"LF< SD"LM<R LFM<LGHTM<WDLM<DLMFGEQL:E M:L TRM:L%TMWDTGME:L%TM RLGMDE:L R%:TMGRL%MTYLHTM:LYHMT^L%:RM L^RM :L%M :L: %K#L$ K$#:LK % :YN %:KY@%M : LM Y:K#MG:KLFDML:GMD :R%M RLMD:LSMF:#MT% :M%:LM%:L%5 me5lo4j 5i9 4m?% %M%$ Ng rkiwernjmw 4imykldvm lerre%YR nt54kl kve /.4/n5sS% w5,wn/ /S%E W%N w54vwrE 54nmw4kl ,/R%M %t54 n54W n54 wTYHTNw WR GWRN 545tn klrwn gr5kltmg ow tt54ll fkl4 tgm Hilfe!!!!