[Playlisten] [Impressum und Datenschutzerklärung]

07A.1 Suchen und Ersetzen in Zeichenketten in C, Teil 1


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

wasich heute vorhabe isteine Suren ersetzen Funktionenin C zu bauenso was schwebt mir vor dass ich mit der Zeichenkette reingehedie vielleicht heißt eins zwei drei habe sienunX YAW zehnund darf ich dann angeben kannSuche nach ABC in dieser Zeichenketteund ersetze ABC durchTestLeerzeichen Kette und dann käme rausin Schreiben suchen und ersetzenwas außer Text verarbeiten könnenals Funktionankäme raus ein zwei drei würde bleiben wie es war ABC müßig ersetzen durch TestX Y würde stehen bleibenABC hinten wird durch Test ersetztso eine Funktionmöchte mit Ihnen bauendazu noch mal dieFunktion für Zeichenkettenund im allgemeinen Verweisals genauer angucken könnenamdas heißt man müsste jetzt erst mal gucken was braucht diese Funktion eigentlich ein Eingabedatenund was braucht diese Funktionan Ausgabedatenoder was liefert diese Fonds sondern Ausgabedatensie sehenjetzt an dem Beispiel schon relativ deutlich was man bräuchteich brauche eine Zeichenkettein der ich so ersetzen will das währenddessenVerwaltungsprogrammhaben das Originaldokumentin dem sie überall Ensemble werde ersetzen wollendas nur einmal haben das wäre eine Eingabe dann brauchen wir als Eingabenach welcher Zeichenkette gesucht werden soll??was raus fliegen solldiesem Fall das ABCund als Eingabedurch was ist denn ersetzt werden solldiesen Fall jetztTestsan sich müsste mindestens drei Zeichenkettenübergebenunddass zumindestdie abstrakte Vorstellungzurückkommensoll eine neue Zeichenkettein denneueren Programmiersprachenist das nicht so die ganz dicke Aktion dass meine Zeichenkette zurück rechtamdas ist was C nicht so gerne machen will sie gibt Ihnen gerne meine ganze Zahl zurück oder nicht an ein Information zurück aber Leerzeichenzurückmacht das Ganze eher ungeschicktFragezeichen gedieh irgendwo im Speicher stehen muss?? sich die Frage wer reserviert den Speicherplatzdafürwarenalle sehr eklig typischerweisewill man das in C dass die Funktion die erdie andere Aufruf zum dreizehnten Speicherplatzreserviert nicht das meine Suchen Ersetzen FunktionSpeicherplatz für das Ergebnis reserviertsondern dass meineFunktion die Suche der Zwang zum aufruftden Speicherplatz reserviert und nachher auch wieder freigibteinenzusätzlichen Speicherplatzreservieren und freigeben Komma später noch malübernächste Woche oder so armdas ich heute alles bisschen umschiffenGedanke wäredie Suchen Ersetzen Funktion liefert nichtdirekt eine Zeichenkette zurück sondern was sie Summe der Funktion macht sie schreibt die Ergebnis Zeichenkettein ein Speicherbereichden ich ihr übergebedas sieht auf Anhieb müssen komisch aus aber ist es Tiedemann das sind sie auch nochmals in C plus plus machtkomplizierteren Objekten wenn sie durch die Gegend geschoben werden soll von einem zunächstan ich fang einfach mal andas äußere dieser Funktion zu programmierenwie müsste die von außen aus?? wird als im Entwicklungssystemdas billigste Teeprogramm von allen erzeugtund in diese DateiKomma keine eigeneHeader-Dateider Einfachheit halber in dieser Datei soll jetzt was drinnen stehen von wegen Server simplex SearchEntflexde möchte ich irgendwasübergebenoder gar ?? schon mal Schweifklammer rein setzen denn was soll die Funktion ja tunsoKlammer zu Rückkehrzur Skizze ich mussmindestens drei Zeichenkettengebenlaut ?? jedoch nie soll lieber so sagen persönlich mindestens drei Zeichenketten geben eine in der?? gesuchtwerden sollder der Ausgangstextdanndie Zeichenkette die gesucht werden soll und die Zeichenkette durch die ersetzt werden solldas sie dann ja zwangsläufigso aus dass ich mir sowas sagen wieähmdu Christ eine Zeichenkettean den was immer einfach InputoderText bei dem Texteine ZeichenketteTextmit dem Originaleine ZeichenkettehabenBinnenmördersdasKletternverfassten bisschen komischWassereine Zeichenkette ?? Searchdie Orthographiehinkriegeeine ZeichenkettePlacessoweit bis dahinjetzt kommt der spannende Teilnunin modernen Programmiersprachenwürden sie jetzt Leerzeichen Zeichenkette auch wieder zurückgebendas klappt in C nicht so ganz so gutwarenwie schon gesagt der Trick istdass sich dieser Funktionnoch eine Zeichenkette mit gebein der das Ergebnis dann in die das Ergebnis reingeschriebenwird die Funktion liefert mir nicht komplettwas Neues zurück sondern ich liefere Funktion bereits den Speicherin den das Ergebniseingeschriebenwird ??blöde Frage warum schreibe ich das Ergebnis nicht einfach hier reinin die Zeichenkette die mirübergeben wird als Anfangstag so funktioniertauch in der TextverarbeitungSie machen Word oder OpenOffice weiter aufsagen suchen und ersetzendann ist das Ergebnisso das es ihren Text einfach überschreiben warum mach ich das hier nicht das Problem warum schreibtdas Ergebnis nicht einfach in die Eingabe reines kann nämlich wie hier passierendas ich mitäh sechs sieben acht neun zehn elfmit elf Buchstaben reingehe?? mit ein zwei drei vier fünf sechs sieben acht neun zehn elf zwölf dreizehn Buchstaben rausgehenwenn der Text der ?? ersetztder eingesetzt wird länger ist als der Textden er ersetzt dann wird das Ergebnis im allgemeinen länger seinwenn sie so etwas findet das Ergebnis länger als das was sie eingegebenhabenund dass es für zehn natürliche Katastrophewenn sie hier so Ausrufezeichenreserviert hat und sie versuchenLeerzeichen mir in diesem Speicherbereich anzuschreibenmachtirgendwas irgendwann die Grätschein zehndas ärgerlichaminsofern hätte ich lieberdas man obendreinnoch angibt wo das Ergebnisstehen sollKomma daals er noch einen weiteren übergibtdas Recht auf eine überraschend ist das Ergebnisich übergebe der Funktionwo sie das Ergebnis hinschreiben soll Beistrichich guck mich hier nach was als Ergebnis rauskommt wenn ich sage der Funktionschreibt ein Krempel an diese Stelle dasaß ist eine weitere Eingabe zu der Funktiongeklammert findesowas die Funktion wohin sie schreiben solldann fehlt dirungeschickterweisein C immer noch wasich sage der Funktion groß hier losgehtaber ich weiß er gar nicht was rauskommt aus der Funktionsich vor sie gingen nicht mit den paar Buchstaben Beistrich die vor Siggi mit ein Kilowatt Extrakt oder mit ganzen BuchhundertKilobyte ein Megabyte Beistrich die lange genehmigten ganzen Buch reinwas wissen Sie wie lang das Ergebnis sein wird vielleicht reicht das nicht was sie reserviert haben und das Ergebnis passt da nicht rein deshalb würde ich sicherheitshalber auch noch die Länge angebensonst wird'sgefährlichwie Platz wurde wurde denn reserviertinNimmersatt mal MacsähmBaumlinkshabenund da muss man sicher schon fürchterlich Gedanken machen diese Gesamtlängedes Ergebnissesist ein bisschen Heike kann gerade eben schonähm in C die String sind ja so gebautbei T-Mobile die kluge Idee hatte die alten Anführungszeichen zuGD verlangen Jahrenwaren sie der so gebaut dass hinten am Ende stillschweigenddie das Symbol null stehtdannmach ich das hier mal am Ende ?? Backslash nullwirklich dasser das Zeichenmit dem Symbol null nicht die Ziffer nur sei das Zeichendas mit der null codiert wird steht der stillschweigend dahinter und zu sagen hier endet die Zeichenketteund das hat man in C und C plus plus dann solange man in C plus plus sich dann das ?? verwendetman immer den Ärger das man sich überlegen muss gleichzeitig die Nullen jetzt nicht mit ?? oder Zell ich sie mit sobald die Speicherreservierungzu Fuß muss ich die nur mit Zählendieser Zeichenkette hier unten braucht eins zwei drei vier fünf sechs sieben acht neun zehn elf zwölf dreizehnvierzehnBytes an Speichersonst gibt es Ärger C ist sehrrustikalhalb moderner Sprachen sind das völlig egal aber so sobald man wirklichnicht auf dem Metall wieder so schön heißt nicht auf dem Ital arbeitet mit C muss man sich der Gedanken drüber machen was man bräuchtees ?? sollte mir jetzt sofort schon überlegenähmob dieses Maximum längslängstEnglischam ?? ob das mit oder ohne die null ist ich würde jetzt einfach dahinter schreiben Macs längsinklusive der nullnull??Endenicht dass da was schief gehtdas wäre bis dahin die Eingabekönnen sich vorstellenwas sinnvollerweiseauskommen soll aus der Funktiondas echteErgebnis habe ich ja schon versteckt ich sag der Funktion wo sie das Ergebnis hinschreiben solldas muss ich nicht mehr rausholenaus der Funktiongibt's trotzdem irgendwas sinnvolles was die Funktion liefern sollte ??also wir haben schon das Ergebnisdann irgendwo untergebrachtdazu das Ergebnis hin speichernamob er irgendwas jetzt gefunden hat?? das könnte man auch man könnte zum Beispiel sagen ich hab jetzt zwanzigmal diesen Text gefunden dasselbe was dann Word und OpenOffice weiter zurück liefern wenn die Sonne setzen mache?? Texte zu oft gefunden?? viel wichtiger wäre mir an dieser Stelle aberob das gepasstoder SSW geschlagen hat das ErgebnisPlatz gehabt in dieser Maximallängeoder nicht das für dich zurückmeldenmanmit einem Pool zum Beispieldie ganz harte Lösungwäre ?? manchmal ganz harte Lösung wäre ein Kind zurück liefernan dieser ins sagt wie oft gefunden wurde ?? null eins zwei drei vierund so richtig C mäßig wäre wenn sie geschlagen geben sie minus eins zurückdas wirkt aus heutiger Sicht zum bisschen gruselig wäre aber ganz typisch in zehn Inn zurück liefernnegative Zahl sagt Fehler und null und positive Zahl sagt irgendwasüber das was passiert ist zum Beispiel die Anzahl Suchen ersetzenwir mit bisschen kompliziert und ich finde gruseligsehr effizientaberunschön zu warten ?? erfreuliche mein Bruder vorder soll einfach nur noch zu sagen hat funktioniert oder nichtähmich hatte mal vorRückgabezuals erfolgreichund damit der Boole funktioniert braucht natürlich nochStandard wohl im Headerin zehn Ziffer Komma sichgutPunkt?? hatPunkt hab soeine der Bibliotheken die im Standard festgeschrieben sindVersagen eine derHeaderdateienzu einem der benötigen dem Standard festgeschrieben sindbis dahin müsse er schon malprofilieren könnenwas nicht viel Sinn ergibt aber bereitsdadiese in einer Fete schon bisschen mit Statement ich sagewohlhier muss ich natürlich am Ende irgendwo einReturn habenich schreib mal als Dummys Rittervor zehnda muss aber richtiges reinso sehrMac machensoweit hätten das sind die Kompetenz und Funktion werden kann die einfach nichts billiges tut alsTextsuche zu ersetzen ich sag hier in welchem Text ich sage ihrwas gesucht werden soll wodurch es Observer wodurch es ersetzt werden sollich sage wurde ja Ausgabe hingeschrieben werden sollund hat sich in der Ausgabe habeam?? führe schon mal vor wie denn die Ausgaben wieder diese Fusion aufgerufenwirdso programmiere ich eigentlich üblicherweise dass es sowar top dann Programmierung von oben nach unten gedacht von der hohen Ebene zur tiefen Ebene gedacht bis ins extremstedie Funktion erst verwendenund sich danach überlegen wieder das Wort funktionieren könnteBeistrich die Funktionenhier verwenden will selten so aus ich hätte gerne eine Zeichenkettehabenund natürlichReklamemitall den Text in dem gesucht und ersetzt werden sollBeistrich an der Stelle noch was zurecht sagenwenn sie zum Beispielganze Zahlen habenkönnen Sie hier inSchweifklammerdann so Ray vonganzen Zahlen hinter setzenfürdirekterwürde das lustigerweise auch funktioniertidentifizierteeben das Symboldrei das Symbol dreiundvierzig das Symbol vierundfünfzigwas auch immer das bedeuten mag aber die einfache Art fürZeichenketten ist eben Anführungszeichen zuverwenden doppelte Anführungszeicheneinfache Anführungszeichengeben ein einzelnes Zeichen der steht für ein einzelnes Zeichen ein Ballin Cund C plus plusan diese steht fürameine ganze Zeichenketteunter Holzfassadenoder irgendwas?? komischeZeichenketteWCwas PCsoll doch Normalabidrin haben AB sollte natürlich nicht ersetzt werden ?? kleines A sollte auch nichtso das wir die Zeichenkette in der ichsuchenund ersetzen will und stillschweigendsetzte mir ans Ende eine nullalso dieses Ding hat im Speicher nicht so viel Bytes Visier sehen sondern ein Byte mehr ganz am Ende steht eine null vollautomatischmachte der Provider dann?? selbst so jetzt möchte ich hier die Zeichenkettedie gesucht werden soll ?? Uppsalazu viele Sonderzeichen hierund hier möchte ich die Zeichenkettedie ersetztwerdensollund nun brauche ich eine Zeichenkettefür das Ergebnisnunschreibe ich das sinnvollerweise?? ich brauche eine Zeichenkette die lang genug istund in der irgendwas stehen kann denn das ist das Ergebniswas auch immer in D steht wird überschrieben D muss ich nicht initialisierenwerden?? auch eine Zeichenkette mit irgendwas unter müssen sie Komma die Reichs erinnern wenn sie eine Reihe brauchen zum Beispiel in Münster sollsie brauchen keine Ahnung drei hundert insMiteinander wäre dass er die Schreibweise für das Kind eine Serie namens D für ganze Zahlenin der Mannschaft in dem am Anfang irgendwas stehen darf ohne Initialisierungso sehr das ausdes Baus eben keinReife ganze Zahlen sondern eines füralle Zeichen so sehr das aus ?? vorsichtig auf was über sensibel eingestellt habemit dreißighundert vierzig Zeichen sollte auch dabei seinvon wichtigen Computers natürlich kein Probleme die da jetzt fünf tausend oder sogarzehn tausend oder sogar hundert tausend reinschreiben und auf diesen kleinen Chips muss ein bisschen vorsichtig sein mit seinem Speicherplatzda kommt das Ergebnis reicher wird also vierzig Zeichenvierzig Byte soll ich sagen vierzig Bytes reserviertund somit der Aufruf stattfindetSinne sowas sein Bruder Salt ist gleichObi super funktioniertclassseit Episodegebe ich jetzt das EDAkleines F AP das WCdes RayDund dann musste ich das ?? wieder vorgesehen sind in dieser Reihenfolge Text in dem?? gesucht und ersetzt werden soll Wasser gesucht werden wie soll ersetzt werdenmuss ?? das Ergebnis sehen und hier möchte ich noch habenwir Platz reserviert istwas kann ich jetzt netterweise ?? lesen vierzig ?? präsentiertso müsste der Aufruf aussehenihr Projekt merkte sie nicht dassich dabei vorgehenamdass es nachherkeine schlechte Ideewenn's nächstes Semester Objektorientierunggeht versuchen sie Programm ständig kombinierbar zu haltenwissen Sie dass die Gesang die Busse Teil ineinandergreifenund dass sie nicht in ganz dicken Konsumtionsfehlerdrin habenEsperanto zwar noch nichtsaberzumindestpassen die Busse dann ineinander das ist ja schon mal was wenn siedrei Stundeneinfach nur Programmcodeschreiben und dann nach den Reichtum zum ersten Mal auf den kombinierten Button klickenhaben sie tausend Fehlermeldungenund ist es garantiert alles falsch was überhaupt jemals geschrieben haben und sich wird er regelmäßig kombinierenaufdem hohen NiveauDropdown Programmierung auf dem hohen Niveau habe ich jetzt ?? Idee was diese Funktion tun sollund ich hoffe das gleiches ResultatShow istweiß gepasst hat in die vierzigZeichenunter den Leerzeichen Sack Attacoben drankommentiertSinne Compiler wird es nicht überprüfenja obendrein kommentiertdas Dieb Saal der Zeichen da oben inklusive der Null am Ende istund so steht denn hier auch nicht die Null muss noch mit rein passen in das dieSauce zu machenPunkt der spannende Teilhaben Sie irgendeine die ich da vorgehen könntedasVorgehenwas ich mir vorStelle ist folgendes ich guck mir daserste Zeichen an das mit der Nummer nullist das ein A neuntes kein Ar wird das erste Zeichen durch kopiertich gucke mir das zweite Zeichen anist das ein Adarauf schon ?? Schlimmes passieren das wir durchprobiert ins Ergebnis das dritte Zeichenist gerade durch ?? kopiertdann dieses hier ?? das ist ein aber das wird spannend da kann ich nicht einfach durch Kopien es kann sein das hier das richtige steht ?? guck ich mir den nächsten anBsoweit auch noch richtigC in der Tat das es richtigdas heißtdieses ABCwird komplett ersetzt und John wird Test eingesetztmuss ich um mit dem nächsten weitermachendas X ist kein A dass wir durch kopier das Y ist kein A das wird durch kopiertdas Paardas ganze wieder was werdenich guck mir den nächsten Anlass ist das B unnahbar stimmt auch noch ich Komma den nächsten anders ist das C stimmt insgesamtund ich ersetzein Ergebnis dannTestam ?? das wäre wenn man es jetzt zu Fuß macht ohne weitere Funktion könnt ich mir das so vorstellen dass wir ??bisschen länglich welche gucken muss ist das Aokay das Ar stimmte Musik den nächsten angucken das bestimmt das Zimmer der Gymnasienschleifedrin mittendrin erscheint eine Schleife zu gebenin der ich die Zeichen durchund dann scheint sie ?? drin noch meine Schleife zu gebenin der ich guckeob denn das ganze demnächst noch weiter passt und die folgenden Zeichen noch passenan manchen bisschen faul bin würde ich versuchen mit der String kommt der Funktion zu arbeitenerstens weil ich bisschen folgenund zweitens dass sie noch mal diese Standardfunktionendannin Aktion sehenwürdeich dann noch folgendes tun ?? ich geh an die erste Stelle und dann guck ich mir jetzt die nächsten Zeichen anFragezeichenkommt derob denn dasdie gesuchte Zeichenkette sie weiter dass die Fragezeichen Anglistik ?? Missing Link Aktie ist in das die gesuchte Zeichenkette kann ich Senkung der Fragen Neinbeginnen wir die einst durchprobiertmuss die einst unten landen nämlich die nächsten drei Zeichen Fragezeichenwer ist denn dass die gesuchte Zeichenketteeinokaydann wird die zwei durch ?? kopiertdasselbe bei der dreiist auch nicht ABC dann wir die drei durch kopiertund hier finde ich eben ABCund dann kopiere ichTestergebnisdas wäre mein GedankedieserFunktion mit der man hier untendie Ergebnisse zusammen kopiertdie Kids netterweise auch schonin der sicher den NamenEsther Katz von wegen konkrete Nähte zusammenziehendie beiden Springsteen Tests ?? und mit dran hängen Fragezeichenkonkrete Netzes der Kat dafürund es gibt diverse Funktionen die man hier recyceln kannum dasetwas schlanker zu machen dass es nicht supereffizientes gibt wesentlich effizientere Arten das zu tunam ??die man dann aber im ?? zwei mit X Programmierfehler erst mal erkauft und dann fünf Stunden ?? bist oder mir Fehler draußen sindTickets Messungsprinzipklarzumachen wie man Zeichenketten umgeht ?? mit RS umgehtund Ähnliches alsoich brauche eine Schleife die durch daswird durch den Ausgangsstringdurch die Ausgangszeichenkettedurch gräbtauf jeden Fallwannundwarum wäre das sinnvollerweiseeine while-Schleifeund keine for-Schleifedie for-Schleife läuft sehr gerne mit konstanter Schrittweite typischerweise in einer Schritteneins eins eins eins eins aber jährlich einen Dreierschrittkann ich mit der for-Schleife im Prinzip auch machen sie können das Form Einschreiben vorzwanzig die Plus gleich hintenin Plusminus sondernbloß gleich irgendwas und dass er diese Variabledas macht es aber nicht gerade übersichtlichdie for-Schleife liebt schon so ?? Konstante Schrittweite deshalb für dich die Weißschleifenähm fange beim ersten Anita Messmer sind es in der Warteschleife richtig weiterschreibenum eins oder drei oder was auch immerund das ganze so lange machen bistdie erste Zeichenkettezu Ende ist es für deine null angekommen sindeine while-Schleifeähmhier muss drinstehendass die Zeichenkette noch nicht am Ende ist noch nicht am Ende von dernoch nicht haben Ende?? Uppsalavon Text wie auch immer das aussiehtund ich brauchemir die Schweifklammernun für das was in derSchleife passiertund ich brauche auch garantierteine Variablein der ich bemerke an welcher Stelle ich gerade binin meiner Zeichenkettedas hier sollsie sein I soll auf diese Stellen zeigenBeistrichdass soll der Job von Isa die gleich null ist gleich einsund so weitervon Isasoin der Schleifeund in der Schleife möchte ich nunsoviel Zeichen nehmenwie mirdas Muster SuchmusterVorgehensund möchte vergleichenob dasgleich demdas wird spannend Ausrufezeichenwieder Suchmuster vor gibt'sdas heißt ich muss es nur wissen wie Leerzeichen das Suchmuster überhaupt hatich muss wissenwie viel Zeichen da drin stehenanZeiss auf Comet als Eckart alsIdee eher Vorsicht mit Zeiss aufes hat auch jemand auf YouTube schon erwähnt von wegen aber Ciba ist doch wie groß seine ?? sind leider nicht ?? leider nicht wenn sich hier unten nach mit Zeiss auf Fragenzum Beispielin?? einpaarTage inFist gleichaufArKomma kombinierbarim Himmel rausanin dieser Funktion ?? und selbstkönnte tatsächlich mit Zeiss auf Fragenwie viele BytesbestimmtesRE hatda müssen jetztquasi wie viele Dutzende sindanstehensehenBeistrich sollte auch noch die variablen Anzeigens hätte wasokay also einunddreißigmit der nullscheinen hier in demden Ding einunddreißig Zeichen verstehen samt null an der Stelle fusioniert Zeiss auf der Ärger istdas Essen das ist nur Information die der Compiler sich selbst zusammen dichtet er diese Variable angelegt hier und weiß wie groß sie istaußerhalbdieser Funktion wenn sie das Herumprobierensehr wie obendas sichere Oma die Größe vom Zollschulein F ist gleich Styles auf?? Search Komma sondernder schonimmer laufenund sie sehen jetzt hier F Größe von Search zweiGroupsZeiss auf SearchFzweite das blöde ist er weiß es einfach nicht er der Compiler ist wirklich wichtig Punkt er weiß nicht wie groß das Ding ist wenn sie nicht selbst in C und C plus plus genauso für die seinerzeitwenn sie nicht selbst den Compiler mitteilenAusrufezeichenwieder haben wollenkeine Chance das heißt leider nicht Leider funktioniert Zeiss oft nichtdie Funktion ist ein nicht nur dafür da das sich fragen kann wie groß diese Datenmenge ist und dass ich dann genug Speicher reservieren kannwie groß insbesondere Typ ist groß es eigentlich bool wie groß ist eigentlich langin Zeichen ausgedrückt oder etwas kompliziertere sonder ?? speichere serviert dafür sei Softwarewas wir hier bräuchten istStringlängst SDR-Leneine innämlich das denn mallenklängsist gleich ?? jetzt IST er dennvon Searchdenn der Trick ist ja bei diesen Zeichenkettenkann ich zur Laufzeit rausfindenwie groß sie sind nicht Zell ein ?? wie viele Zeichen es sind bis zu null ?? normale Reh kann ich das nicht rausfinden Komma Larry hat keine Sonderzeichenam Endebei den Zeichenketten steht die Null am Ende undSwing längs zählt einfach bis zu der null und kann damit die Länge feststellendamit der Gelenke fusioniert ?? obendrein noch aus der StandardbibliothekString H Punkt gutschonPunkt hadas noch mal anguckenDoppelpunktder noch bei GalsoleCzwanzigsterSehen Sie dreisaß Schlenker den Wert dreidas fusioniert tatsächlich erzählt einfach bis zu null?? angucken was sie ankommt ?? TextZeigerzuerstdas kann ich es mal über nächstes Mal an im Endeffekt aberein Verweis auf die erste Speicherstellevon meinem Textals solcher es genausoVerweis auf die jeweils erste Speicherstelleund Ring längsgeht einfach von der Speicherstelle aus durch die Speicher durch Biss ist die null findetund sich auf diese Weise die echten Buchstaben sind halt drei Buchstaben als Ding längstistohne die abschließende nullich gebe dem Ding ABC und ergriff drei raus sind zwar vier Bytesbenutzt im Speicher ABCund das Symbol null am Endeaber er kriecht Beistrich lenkt nur diese drei raus wie sich gehört so viele Zeichen wie die Zeichenkette tatsächlich hatsozurück zur Notiz hier warich muss also jetzt für jedes I die nächsten soundsovielZeichenvergleichendas heißt ich muss nach ?? bisschen aufpassenich darf nicht beim letztenüber das Ende hinausgucken?? bisschen auf ??am Anfang hat das so weit hin ich nehme immer die nächstenzwei Zeichen mit dem Fall bin ich drei Vergleicheimmer Blöcke von dreiBlock von drei wenn ich Vergleichensind wirklich super effizient aberhoffentlich funktioniert zu kriegenin endlicher Zeitmein kaputtes weil hier wiederein Kommentierenjährlichesalso gerne ein String kommt perkommen persound der Gerichtszwei Zeichenkettenaber jetzt wird spannendKomma bisschen vorsichtig seinüber das sinnvolle LösenSengkomperliefert ja schrägerweisenicht ja oder nein sondern bisschen mehr nicht bool sondern ein Lebens nämlich minus eins null ?? plus einhundert und ?? die Reihenfolge im Alphabet es auf null raus wenn die beidenidentisch sindminus eins plus eins hiernach ein Folgenalphabetdeshalb ihr KinddenVerkehr auf die Resultateso jetzt würde ich hier gerne vergleichen wollen oder verspanntgucken über das hinkriegenhaben möchte ich vergleichendieZeichenfolgedie gesuchtwerden sollmitdem Teil vom Text da vornedas wird es aus diversen Gründen spannendfinde schon welcheangenommenich stehe jetzt hier auf meinem I an dieser Stelle ich möchte jetzt hier die nächsten drei Zeichen vergleichen mit den mit String kommtwas ist das Ärgernisganz viele Ärgernisseandiese Funktion hier Stinker Bernstein lenktdie neben ihr im Endeffekt ist sie nicht das ganzeReich sondern was die kriegen ist einfach Nummer nur die Adresse des erstenGenerälenso funktionieren die RS in Ckommt eigentlich immer nur die Adresse des ersten an String längst nimmt die Adresse des ersten geht von da aus und zählt bis zur null Stringkompernimmt die Adressen der ersten von dem und demgeht von da ausund gucktbis jeweilszur Null am Ende das sind die beidenÄngste dann verglichen werdenjetzt ist der Trick folgendernoch nicht ganz am Endewerden wir sind ja noch ähm ich das so hinschreibenheißt das nehme des gesamte was sie als Text angekommenistdessen Anfang die Anfangsadressebis zur nullund hier von dem?? Search Stringhat dessen Arbeitsadressebis zu dessen Null es möchte Spatzentextabernicht immer der Anfangsadresseanfangensondern vielleicht maleinsnull eins zwei drei vier fünf späterso banale Verweis gar nicht draufkommt?? mein Vorschlag war eben Text von fünf das würde nicht funktionierenwürde desjenigen Klammern fünf hinschreiben das würde nicht Vorsicht würde nicht funktionierenweildas ja heißt nehme diese Zeichenketteund hole mir das mit der Nummer fünf rausgehefünf Schritte nach rechts sozusagen wohl das raus was hier rauskommtist einwirkliches Byte ein wirkliches Zeichen ich möchte nicht das Zeichen vergleichenich möchte hier vorneeine Stelle haben an der ich vergleichen kannsich wirklich bisschen durchgeknallter das mit den Zeigern kommt auch noch so sieht es dann aus je fünf Schritte weitermuss ich dran gewöhnenin dener in vier modernen Sprachen insbesondere ?? abersicher geht es tatsächlich sogar in Java geht es nicht sicher geht es wenn man einstellt in Javascript geht nichtviel moderner Sprachen ist diese Art der Rechnung über Bord geflogen weil das extremgefährlich istwenn sie hier irgendein Blödsinn addieren kann sie will den Speicher umherwandern?? wie es der Gedanke hinter dieser Schreibweise nehmedie erste Adresse und geht dann in dem Fall fünf weiter und ich möchte nicht fünf weiter gehen möchteI weitergehendann in der das denen die Zeichenkette auf der richtigen Stelleesgibt aber noch ?? Ärgermit Zeichenkette ab der richtigen Stellevergleichenich möchte nur gucken ob die nächsten drei Zeichensind was geht Komma an anderer Stelle hierhabensich vor sie geradehierund ich rechnemein RE plus drei okay dann fang ich hier an aber den Vergleich ich hatte all dasmit demdas ist zu viel des Guten all das mit dem verglichen ist ja falschich möchte nur ABCmit dem vergleichensehen Sie Mischungder ganz fiese Heckdem Ärzte ganze Sekte mir jetzt einfällt ist folgender ich sorge dafür das hier zwischenzeitlicheine normale null steht die Symbol null stehtund dann glaubt dieSenkung der Funktion tatsächlich hier nur die ersten drei Zeichen zu sehendas ganz fiese Heck aber sobald man hier auf diesen kleinen Maschinen arbeitetfängt man an mit solchen fiesen Heckamals ich nach folgendesich sorge dafür das das Zeichenwas dahinter stehtirgendein Sozialleben als Mus null werden auf diese Weisebesonders dafür soll es das richtige ist das wäre ihmlosSearch Lenkwaffenslanghoffentlichund ich muss mir noch mal Strukturenschreiben nicht übers Endevergessendas ich hierhinter dem Endeeiner Zeichenkette agiere?? das wichtige ist lieblos Search längst dass das richtig isthier bin ich bei ihr gleichdrei null eins zwei hier bin ich bei ihr gleich dreiich addiere dreiüberlegennulleins zwei drei ich addiere drei vier fünf sechs in der Tat die Nummer sechsdas ISTwenn sie wollen die eckige Klammer sechs?? erstes eckige Klammer null die Nummer sechs wird aufnull gesetztdass es eine Art das zu schreiben beschreibe ich die Zahl null rein das Symbol null reinweit ist es klarerund auch nicht von Ihnenvergisst das klarerden Buchstabennämlich das Sonderzeichennull null fürs Ende der Zeichenkette reinzuschreibenBeistrichwas in der mir gefällt das Essen bisschenlänglich muss ich gestehen man sieht es ist ein Zeichen einfacher Anführungszeichen obenein einzelnes Zeichen einer Sackritterim Steckritter mit der Nummer nullaberob sie das schreibenoder das Schreibenmacht keinen Unterschied gibt das Zeichen mit der Nummer null also nicht die Ziffer null sondern das Zeichen mit der Nummer nullähm jetzt als dieses den Komper die richtigeZeichenkette zum Vergleichen es fängt mittendrin an und geht nur solange soweitähmdiesem Heck habe ich mir natürlich jetzt geradein den Fuß geschossenwarumich auf diese Weise meine Zeichenkette ruiniertnicht gutanwenn ich da dienull rein schreibesteht ein für nächstes Mal da die null dass es keine gute Ideedas heißtich müsste mir erst merken was davor gestanden hat?? einen den ausKomma ich müsste mir merken was davor gestanden hat und nachher schreibe ich wieder reinwerdenichfrage mich gerade ob mir das jetzt nicht doch zu viel an Heck istsicher haarsträubendausähmAlterslogistikund der Funktion in Aktion zu sehen ich glaube an dieser Stellewürde ich dann auch sagen jetzt jetzt schlecht meine Faulheit dahin um das ich sage das ?? doch lieber zu Fuß statt dass er zu schreiben was kein Mensch mehr verstehen kanngewürdigtes Zeichen rettenwas da hinten nachher zu Null wirddas Wetter zu Nullund Einschreibens wieder reindas es haarsträubendkommenund ja das isterstens haarsträubend zu lesen und zweitensendlich auch nicht ganz korrekt aus einem sehr diffusen Grundediese Zeichenkettesteht hier irgendwo im Speicherund wird von Zephyr konstant gehalten auch wenn ihr nicht ganz davor steht das historischeähmGeschichtedie wird von Ziffer konstant gehalten und was ich jetzt macheich übergebedie Adresse dieser Zeichenkette und hier würde ich jetzt in dieser Zeichenkette die von Ziffer konstant gehalten ?? etwas ändern das ist nicht sehr elegantes würde ?? ?? funktionieren ist aber nicht sehr elegantam?? im Endeffekt neige ich jetzt doch dazu das nicht so zu machensondern dann zu Fuß zu machen mit einer kleinenfor-Schleifedas kostet natürlichetwas Aufwandsehen wir dann ?? ich schmeiß dass sie tatsächlich mal wegProgrammierversuchund Irrtumdas zu kompliziertimmerdas ?? meine kleine for-Schleifevor?? integriertjetzt möchte ich die nächsten so soviel Zeichen angucken?? nullJ kleiner ich weiß es schon wie vieles werden müssen hier oben die Suchlängeund das in einer Schritten durchClubs nicht eckige Klammer zu ?? SchweifklammerKommaSchweifklammerund jetzt möchte ich vergleichenund ausmeinemSuchtextSearchvergleichenmuss anscheinend ein Lüfter vorund dann irgendwas zu tunSuchtextirgendwasmöchte wissen ob das in meinem richtigen Text gleich irgendwas istnicht immersound dann soll irgendwas passierenwas wird es in die eckigen Klammern reindas jetzt der die Situation ich eigentlich am Anfang verhindern wollte das doppelte Schleifer habe die äußere Schleifeläuft durch alleBuchstaben einzeln durch ?? von mirso das ist dieSchleife die läuft durch diese Buchstaben einzeln durchund die innere Schleifepickt sich jetzt für einen Buchstaben die nächstenund guckt ob diese in dem Fall drei Buchstabengleich ABC sind das ist der Job der inneren Schleife und das geht auch mit vorweil das in einer Schritten weiterläuftaber den Job dieser inneren Schleifedie soll sich die nächsten in diesem Fall drei Buchstaben anguckenund gucken ob die mit meiner Suchvorlageübereinstimmenwas muss ich für diePünktchen reinschreibenund das zu tunangenommen ich bin mit ihm beidrei gleich dreider sieht sich auf diesem BuchstabenI gleich null eins zwei drei und so weiter des I solldie Buchstaben einzeln anguckenund für jedes I guck ich jetzt ob die nächsten BuchstabenABC sind mal Suchmuster in das dass das J machtfür das I gleich drei Kubikmeternwird gleich nullwird gleich einswird gleich drei die ??gleich zwei natürlichdie guck ich mir anund überprüfe ob das wirklich ABC ist das tatsächlich ABC soll das funktioniert das Iguckt sich jeden Buchstaben einzeln anund für jedes I guck ich mir mit Jerkennen guck ich mir mit J an wie die nächstenzwei in diesem Fall Buchstaben sind das insgesamt drei Buchstaben verglichen habesich das angucken J vergleichtdas dass daswas muss hierbei Searchund bei Text Access OriginaltextSearch ist dieses ABC mit dem ich vergleiche was muss hier die eckigen Klammern reinichmöchte mit dem ersten Jens Hirsch vergleichen dann die nächsten mit dem zweiten Insert vergleichen damit den letzten Yen zu vergleichenals wenn J gleich null istmit der Nummer null ins Verschwender gleich eins ist mit der Nummer eins in solchen Fällen wird gleich zwei ist ?? Nummer zwei das ist ja so ?? eckige Klammer null sechs eckige Klammern von eins und so weiterdas heißtimmer dem ersten steht ganz unter einfachschlicht und ergreifendJ drinmit dieser Schleife laufe ich meinen Suchstring durch Kleinbuchstabenein Zeichen für ?? nach dem nächstenfange vorne an und höre hinten auf der ?? laufenundder Vergleichist bisschen komplizierterwird und sich vergleichen mit dreiist gleich drei ist gleich vier ist gleich fünf wenn sie wolle mit den Positionendrei vier fünfin dem Originaltextdas heißt es I plus Jan der StelleE-Plus J ist hier gleich dreigleich eins wird es gleich vier E-Plus Jfünfdas Muster stehenbei der Ar bei dem Originaltexthier muss stehen I plus Jgroß Jdas müsse der Vergleich seinin diesem Fall ?? jetzt die die Suchlänge des dreiich guck mir das aktuelle Zeichen die nächsten beiden andessen sie hiermitist die Nummer des aktuellen Zeichens und wenn sie mit J dann noch weitergehenkönnte die nächsten beiden Zeichenund die vergleichen sie mit null eins zweiin demSuchstringdas wäre derVergleichund ?? muss ich mir natürlich merken ob alle drei Zeichen funktioniert haben das wird etwas länger als mit Frank Lambert bedarf jetzt aber sauberermuss sich ininteressantestensein schreiben oder sowaswie kriege ich mit auch alle dreiDurchgänge dieser Schleife hierwahr gewesen sindtatsächlichjetzt zählen wie häufig Uppsala wie häufig das fasziniert hat bis dreimal fusioniert hat okay den Hammertrefferdannaber diese Anzahl interessiert mich eigentlich ganz ich möchte nur wissenob es für alle fusioniert hat oder nicht deshalbwürde ich einfach als halber liebereine Wunschvariablehaben inverse Pool Frauen oder Pooljetzt Match zu Matchtrefferunddieser sich auf irgendwasundin dem FMegandas so funktionierensich das negativ machendubesser nicht Funktion jetzt aber sammelt zumindest die Ideewas mir vorschwebt ich hätte gern eine WunschvariableBeistrich da drin dass es auch plötzlichvertraust natürlichimmer sagt ob jetzt die nächsten drei Zeichen tatsächlich übereinstimmen des Musters außer von der for-Schleife sei die for-Schleife guckt sich die nächstendrei Briefe Zeichen anArmund guckt ob die übereinstimmendamit das Ergebnisnach der for-Schleife lebt muss natürlich ihr vor der for-Schleife die Variable eingeführt werden das schwebt mir vorso möchte das gerne machenähnliche Ideen dazu sofort zu Silvester nicht ganz aber kleine Änderungen angehtmuss ich dir diese denke erst bisschenan gewöhnenich geb mal paar Sachen vorwenn ich sage auch wenn der ungleich erste Sinn dessen kleine Änderung wenn der ungleich sage ichwelches gleich waswenn es so solide Zeichen des Suchstringsverschieden ist von dem richtigen Zeichenin Originaltextdann hat anscheinend nicht geklappt mit dem Treffer und ich setze deshalb Match auf Foulsdas heißt am Anfang sollte es auf zu setzenund das war's dann ?? ich sag am Anfang ausstehenHypothesees stimmt die beiden stimmen übereinaber sobald ich zwei Buchstaben gefunden habe ihr die nicht über ein Ständer sich auf Volkszweigirgend ein paar nicht übereinstimmt sobald irgend insoweit es ist irgendwann einmal anspringtirgendwas stimmt nicht übereinegal was dann wird es mit ?? fortgesetztund wenn es immer übereinstimmtkomm ich niemals in das im Freien Unterblattes am Ende zuistGewöhnungssache aber so schreibt man sowas dann späterdas ganze Komma sogar noch optimierenich weiß sie das schon sehen diese Schleife lässt sich optimierensobald Sie den ersten gefunden haben der nicht passtoder sich gar nicht weiter zugucken es bleibt ja vormalsdas heiß ich kann an dieser Stelle die Schreibtischschleifeabbrechen das macht das ganze vielleichtschneller Beistrich was das ganze sicherlich schnellerähman der Stelle lohnt sich also ein Beleg für die Effizienzgucke von vorne das Zeichen mit der Nummer nullwenn es stimmt okay passierte nicht ich gehe nicht reingucke dann stimmt das Zeichen mit der Nummer eins und so weiter bis ich Leerzeichen finde das nicht stimmtoder muss ich gar nicht weiterguckendieses Breakspringt aus der nächstenGesang aus der umliegenden Schleife nicht umliegenden Schleife raus was das vores geht hier rein bindet das Breakdes Black für Ende dieses Wortes ist die nächste Schleife wieder zu viel Mäßigung undBau der ?? gefunden ob dasTier muss trotz Messung ?? du dransetzen?? Vorsicht das ich mich über das Ende des RShinausgeheUferPartnerist es ein paar Zeilen und solange dann festhaltenGedanken zu lange dauertman?? öffentlich programmiert diese Funktionder oben steht nochLückentextso die äußere Schleife ging Semikolondie äußere Schleife ging durch alle EAST durch??durch alle Stellen in meinem Originaldieinnere Schleife hierhat jetzt festgestelltauf die nächstenin diesem Fall drei nächsten zwei sollten sagenob die nächsten zwei Buchstaben tatsächlichein Treffer sindPunkt das weiß ich jetzt alles weiß ich für jedes Iob ich an dieser Stelle anfangen muss zu ersetzenoder nicht??und darauf kann ich jetzt reagierenabhängig davonob dieses ein Treffer war oder nicht muss ich jetzt reagierendas heißt ich hab jetzt im Zweifelsfall ein elf war das ein Treffer oder nichtund addierten sich beide Fälle von dem if abhandelnwenn es ein Reparaturdieses Windes kein Treffer war zu jenesdas einer?? ist kein Treffer warTour das andereArmglaub ist es einfacher sich erstmals gucken was passiert wenn es kein Treffer war ich stelle fest?? aufräumen hierist das ein einem bestimmtenbei bestimmten dieBeantwortungdass ein bei einem bestimmten Isa nur das es unser ihmkein Treffer ist diese dreiist nicht der Anfang von einem ABCwaswerde ich tunwenn ich keinen Treffer habe dann muss ichkopieren ich kann das nicht stehen lassen das Ergebnis steht ja ganz wo andersals die Ausgangsformim Els muss ich kopierendas historywir gucken es muss geschrieben werden in ??Outputin das Output muss geschrieben werden?? OutputhautschonPunktan einer Stellebelegen müssenmuss geschrieben werdenwas an der Eingabe stand?? Text ist die Eingabeund das weiße WasserstandesAnomaliebin aber der Nummer I im Texter hier das war bei meiner Nummer jeden Text von eckige Klammer IS als wirklich jetzt hier diedas Symbol dreiKomma da steht das Muster unten kopiert werdenmüssenderKölner Sessel nicht direkt angebenwelche Stelle kopiert werden muss haben sie irgend eine Idee wie ich darauf kommen kannmit welchen Hilfsmitteln ich mir überlegen kann an welche Stelle das denn kopiert werden mussin der Tat die nächste Stelle ich muss mir merkenbis wohin denn meine Zeichenkette unten schon gebaut worden istund dann schreibe ichdas Zeichen von hier oben an die nächste Stelleerassistiert das ?? seines sieht hier zufällig so aus als ob sie selbe Stelle wärnatürlich nicht mit sich das X anguckendiese Sixt Dieter und mir eine Stelle weiter war wieder die vier Zeichentest haben um die Zeit Fragezeichen ABC habendas unten ist nicht immer an der selben Stelle wie das oben die Preise zufällig an derselben Stelle ?? X hiermuss eine Stellenach rechtsoder zwischen TestABCdie Buchstaben für drei Buchstaben Platz haben muss ?? ich merke mir nicht das ?? HK Geiß ein schöner Name abersei soich merke mir eine extra Variable wo ich denn jetzt zuletzt geschriebenhabedie dann malKashasimüsste hier noch habeinCarschlecht Variablennamenich mir so überlege ich solche Schreiben vonvon hier nach hierwäre geschickterausweisen als Kommentare von hiernachhierich fange einmalam AnfangderAusgangszeichenketteanund ?? das Ding geschrieben habe naja da muss ich einsweitersososähe das ausindas wäre schon allesfür denFall dass es nicht getroffen hat ja das wäre schon allesder Fall dass es getroffen hat es etwas schwierigerinBeistrich bei dem Anfang vom ?? den Anfang vom ABCstehe ich hiermit meinem Sieund ich stehe hier mit meinem K??überlege ich hab eben was gesagt am Anfang was gesagt von Kettenet man könnte jetzt auch die komplette Netfunktionbemühenin ?? null reinschreiben das alles total gruseligKomma doch lieber zu Fußder Gedanke wird in der Tat nichtein einzelnes Zeichen zu kopieren sondern einfachähmim Original drei Zeichen zu überspringenund im Ergebnisdieses Tests darein zu kopierenund das ?? doch schön zu Fuß nicht hier ein zwei drei unter Null dran zu strecken damit das hier ein String für sich ist das die komplette Netfunktion das kanndiesen hässlichenRahmenzu Fußdie Zahl Leerzeichen der ?? reindas große for-Schleife werdendie wieder ?? nehme mir entweder JJ gleichnull bis Jkleiner das muss jetzt so lang werdenwie dieLieblingszeichenketteZeichen hatLeerzeichen man zum Beispielmal die Regress längstweißso lang gemustert werdenPunkt wenn ich hier ??J plus pluswird solche kopiert werdendas ist ja ziemlich ähnlich zu dem was sie oben passiert istarmendas Ergebnisist seit oder neueSachen und ich bin Outputsachenordentlich benennst ?? noch keinen Ärgernamentlich verweistOutput soOutput Anderson zufrieden stelleguckensoll seiendas muss da was ersetzt wirddurch Wassersätze soll sagen das Muster durch was ersetzt wird wie Places sonstige Stellestelledas kopier ich ja durch nehme das Muster von null eins zwei und so weiter das kopier ich durchselbe Gedanke wie ebenan K plus J muss ich dasdurch Kopierenwardie Ausgabe ist an der Stelle K und jetzt ich mit J weiter null einszwei dreiund so weiter und hier oben jaziemlichgleich null eins zwei drei das kopiere ich ?? gleich nulleins ?? gleich zwei ?? dreimit J gehe ich jetztdie Zeichenkette durch durch die ersetzt wirdund schreibe das Ergebnis reinwobei ichvorsichtig sein mussmit der LängelängerFragezeichenoder einedreiendet das auch an einem Baumund den Oscar ja auch noch nachlegen K soll immer sein wo denn an der nächsten Stellewurden man es mal reingeschrieben wird Punktich muss um diese Breite weiterhin diesen Fall um vier weitergehen wenn ich fertig bin mit dem Kopierenwenn ich hierwenn ich fertig bin mit dem Kopieren stell ich das Kum die Längedieser setzen Textes weiterist es praktisch sein Sinne steht ja noch ganz viel zu tun drinnenaber ähm was soll ich weitergeschaltetwird ist die?? tunpro Jahr immer weiter geschaltet werdendas passiert ?? nicht wie es dieser äußere Variablen für diese while-Schleife da vornewenn ich einen Treffer habeund wie viel muss ich sie weiter schaltenals ihr schallt es um die Länge des SuchtextweiterSchreibenSie um die Länge des Suchtext weiterund hier war ja ein Zeichen dann erhöht die einfach um ein ?? wird auch nie weiter geschaltetwarenund dass hier noch mal?? hab ich in der Vorlesungszeit zu Ende übrig zu bringen sind die ganzen Fotos fehlen hier noch etwas für nächste Woche mal guckenandie ganz brutale Lösung wäre jeder sich einfach gucken so lange das was an der Stelle I stehtdas ?? Original Apollinaris Text solange das was an der Stelle I ist noch nicht die null ist trotzdemnoch nichtPunkt noch nicht die null istPunkt gleichNullmuss jedersosolange ich noch nicht am Ende bin von meinem Originaltextguck ich mir das nächste anPunktbei diesem Text kann sogar funktionierenweil nicht am Ende ABC stehtich bin gespannt was das ?? Kommasosteht jetzt in dieschonWochen bisschen mehr Platzdrei ?? CABokay sind die ABC ging Reinteststeht im ErgebnisWI Ewa Anfang es geht unten weiter beim Ergebnis wird wegen I EO H R W A BCABC ist durch Test ersetzt wordenSU die HF wurde nicht ersetzterstaunlich erstaunlichPunktdas ist aber noch alles andere als sicher was jetzt noch fehlt sind die ganzenEntbeschränkungenfandich auch nicht berücksichtigt habe ich oben gibt noch so viele tu tundas auch das mit dem Ende gerade funktioniert und ich nie über die Ende hinaus schreibenWissenschaftler fürs nächste Mal Komma