[Playlisten] [Impressum und Datenschutzerklärung]

07C.2 Array von Zeichenketten durchsuchen


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

siewar mal folgendes Problemchenich hätte gerneeineSammlung an Zeichenketten nicht ?? ganz falsch ?? hätte gern eines anderen Zeichenkettenweiter irgendwas drin steht das soll die erste Zeichenkette seinsoll die nächste Zweitzeichenketteseinund hätte gerne noch eine Zeichenkette und ?? Zeichenketten irgendwas in den Zeichenkettenmehrere Zeichenkettennämlich ein Gerät von ZeichenkettenHerausforderungund sich der mal fest ob in diesem Array von Zeichenkettenirgendwo auch die Zeichenkette testendas ich gernedieses hier so hingeschriebendas für eine Reihe von Zeichenkettenhaben nämlich diesen Zeichenkettenund danachein paar Zeilen die feststellen ob in diesen Zeichenketteneinemit dem Inhalt testestdu mal wieder so Ausrufezeichen denn sonst ?? kämendie auf das Projekt denn dass er schon das können Zeichenketten sein die aus einer Textdatei stammen die können auch so eingegeben seinalso stellt sich vor sie wissen nicht was da drin stehtdie Bahn mal eine Räte in den Liedern sehr genau drinstehen und danachein paar Zeilen mit den sie feststellen ob unter diesen Zeichenketten eine istin der Tests drin stehteine Reihe von Zeichenketten und es ist hatte ich jetzt noch nicht fertig das muss ?? gebaut werden dass eine ?? verzeichnet wirdich wollte jetzt nicht dass sie dieses veranstaltenOberarme Zeichenkettedie Heißsarund da ist das drin unternahmen Zeichenkette Bdass das drinich wollte dass diese Zeichenkettenalle widerstehen das die Zeichenketten allenfalls in einer Liste sindich möchte ein Raydas alle Zeichenketten enthält nichtjede Zeichenkettenim einzelnen Razor ein RE das alle Zeichenketten hältein zweidimensionalereVersuche das Mainzer Schreiben zweidimensionalesredest alle dieseZeichenketten hatnoch mal die erste weißich für Sommer mit ganzen Zahlen vorInternet ?? haben wollen das heißt Avon ganzen Zahlen und das soll auf irgendwas initialisiertwerden und schreiben Sie in die Schweiz Komma neinauf was das Dinginitialisiert werden sollso dieses Gerät hätte jetzt also fünf Einträgeauf diesem Antrag gestellt fürderhin ?? fünf Einträge und nicht mehr sie können Aussagen gelegene zehn Einträge das sind die letzten fünfauf null gesetzt und dies initialisierensodas es jetzt ein normales RE von Zahlen was ich jetzt aber brauche ist ein FA von Raysich hab meine erste ZeichenketteABC irgendwaswar meine erste Zeichenkette meines MessezeichenketteX Y laZeichenkette noch in ?? noch in Zeichenkette das ist ein Rayvon Rays von Zeichenkettenentfälltein zweidimensionalein jeder Zeile steht Zeichenkettein jeder Spalte sind die dann jeweils dann ein Zeichenin der Zeichenketteich brauche ein zweidimensionalnicht das was ich gerade gesehen haben dieses hiersondern etwas zweidimensionalfür die Zahlen hätten Komma B drausein zweidimensionalereZahlendamuss ich jetzt angebenwas in einzelne Zeilen drin stehen soll in Schweifklammer sag ich jetzt okay in der ersten Zeile so stehen zwei dreiin der zweiten Zeile soll stehenfünf sechs ?? Leerzeichen mit Glaspizzazwei die Zahl dreiin derZeile mit der Nummer eins Zeile mit der Nummer null Zeile mit der Nummer eins steht fünf sechs in der Zeile mit der Nummer zweistehtmir aus acht Punktsiebenund so weiterwenn das wird derCompiler noch nicht haben wollensie müssen dem Compiler sagen damit der das Frist okaypro Zeile hätte ich gerne zweiden ersten hier keiner sich erfinden aber den zweiten Wähler anscheinend nicht erfinden für unsmuss man sagen pro Zeile stehen zwei drinund TechnikSofa Komma das einmal im Debugger anzweidimensionalesArraydieses Handy sondernlockerteine gefülltes sowie das aussiehtin Bdas sind die Zeilen drei Zeilen das ist die Zeile mit der Nummer null dass die Zeile mit der Nummer eins ist die Zeile mit der Nummer zweidrei Zeilenin der ersten Zeiledie mit der Nummer null steht zwei drei drin in der zweiten Zeile des die mit der Nummer eins ?? sechs drin und in der dritten Zeile des die mit der Nummer zwei steht acht sieben dreizwei ?? Missionarsjetztanalogfür Zeichenkettenbaualso ich brauche eine Variabledafür ein Variante namentlich nennen ?? siebzehnein zweidimensionalGerät von Zeichensich das anguckenin deneinzelnen Zeilen habe ich die Zeichenketten drin stehen ordentlich Spalte für Spalte durchunterstehen die einzelnen Zeichenauch nicht mit A null am Endewar das eher normale C Zeichenketten sein sollunddas mit Ministern so anfangendas Versagen okayin der ersten Zeilebittediese Zeichenkettediese Stiche zu eigentlicher wieder für die Initialisierung eines Arraysmit diesen ganzen Buchstaben drin oder Null am Ende und dann soll diese Zeichenkette kommenund dannsolldiese Zeichenkette kommenund dann soll diese kommengibt es nicht Buchstabe für Buchstabe ab?? schöne Schlafarbeitso Semikolonam Ende nicht vergessen genau wieder obendas ist analog zu denen sie sind auch der Wille Compiler doch wissen wie Komma wie lang die Zeilen sindaus ?? Komma zwanzig sollte reichen?? der Compiler alsoso viel Zeilen reservieren wie ich hier angelegt habeangesagt habe fünf Zeilen will der Compiler reservieren und in jeder Zeile wieder zwanzig Spalten reservierendas ist die erste Zeileeine Raydiese Buchstabennummerndieser Buchstabendie null am Ende das ist die zweite Zeile mit der Nummer eins ist die dritte Zeile mit nur zwei und so weiter Komma Gartner im Debugger ob das wirklich so hinhautSinne meckert weil er diese Variablenals Variablen nicht verwendet werden sind nur Warnungen keine Fehlersoin der ersten Zeileso das sehen Sie in der ersten Zeile sind in der zweiten Zeile und so weiterund es sind wirklich zwanzig Zeichen jeweils vorgesehenvon der Nummer null ?? bis zur Nummer neunzehnzwanzig Zeichen pro Zeile vorgesehender Rest ist mit null aufgefüllt ?? es gibt die null am Endejeder dieser Zeichenkettenund der Rest ist auch noch mit null aufgefülltdas wird so initialisiertwie sie das von denZahlen kennen alle die sie nicht angeben wenn sie hier geschrieben hättensie geschrieben hättenich hätte gerne eine Reihe mit zwei vierzig Einträgen habe ich gebe nur die ersten fünf sind die übrigenbis zur Nummer einundvierzig automatisch mit Null gefülltund genauso hierwenn sie sagen jedeZeile ist eigentlich zwei Buchstaben langes gibt die null dahinter geschenkthinter diesen unter der Zeichenkettein doppelten Anführungszeichen sagen oder hinterund die übrigen werden aufgefüllt mit neunHofso jetzt hätte ich gerne for-Schleifeund zum Schluss eine gute Variable rauskommenBeistrich schreiben wohlenthältC kann keine Umlauteenthält kann und Umlaute im im ähm Quelltextich hätte gerne eine Schleifedahintermit der man feststellt ob eine dieser Zeichenkettengleich testest Beistrich dass sie funktioniert in C auch noch am InstitutStandardpoolPunktich richte meine Variable ein ?? die Länge noch drin stehtin größerenSprachen könnt ihr das RE nach der Länge Fragensind fünf Einträge gewesenhier könnte man auch immer denselben Trick machen den Seeger sowieso bei den Zeichenketten anwendetdie Zeichenketten enden mit derNummer nullsie könnten hier ganz dreist mit der leeren Zeichenkette aufhörenund dann gucken wo sie Leerzeichen Geld haben danndas so definieren oder es ist das Ende oder sie sagenes gibt nur an einer Stelle Zeichenketten ans Ende und damit ist dannan der Stelle der endet das hatte ich alles riskant was es für die vorne schon Ende stehtals alsText irgendwo in der Datei gespeichert ist es schwieriger sich wird hier so arbeiten dass meinGewissenirgendwo her wie viele Zeichenketten da drin steheneines klar for-Schleifemäßig ich geheZeile um Zeile durch alsodie diese for-Schleife hier wird jetztzeilenweisedas abgrabendie Onliner indie Plus Plussichert aber noch malin der for-Schleife in den runden Klammern erstehen Semikolonkeine Komma da hier stehen Semikolonund die es ?? Komma wenn sie mit Null anfangen zu zählen?? null eins zwei drei vier fünf Sachen sind sehr nicht bis fünfzigLitern eins vorher auf kleiner ein nicht kleiner gleichda muss man sich in Cdann gewöhnen und seinen Nachfolgesprachendieman fängt mit null an zu zählen und das heißt ?? muss eins vor der Anzahl aufhörengeht nicht bis zur Anzeigedas geht jetzt Zeile um Zeile durch den möcht jetzt was schreiben wenndie Elitezeiledasselbe enthält wieZeichenkette Test enthältdann möchte ich den Aufbau setzenhier mussirgend ein Test reinwenn das stimmt wenn die Idezeiledas enthält dann setzt sich diese Variable enthält Testauftwokönnte dann sogar sagen effizienzmäßigdann brechen wir die Schleife abweilwenn ich's gefunden habe ?? gefundenPunktda muss ich weiter suchen als dieses Projekt wäre jetzt nurzur Effizienz?? ich könnte weitermachenaber das Feuer blödsinnig ich möchte wissen ob drin steht wenn es gefunden habe weiß das es drin stehtdieses prägt sich dann die for-Schleife abBeistrich der dienächst innere Schleife ab es gibt nur die for-Schleifekann weil oder noch in Vorderwasser Komma außendrum es gibt nur dieses vor das Vorbild abgebrochenspannend ist diese Bedingung hier nuneinige ?? das jetzt zu Fuß probiert das könnten Sie tun sie können gucken Punkt ich gucke mir anin der Edenszeileals schwierig in den Zeile mit der Nummer I soll ich sagen ?? null anfangen zu zählen ?? in der Zeile mit der Nummer wieder gib mir mal dasvorderste Zeichenaus der Zeile mit der Nummer I das vorderste Zeichen mein Diagramm hier zeigendieses hier wäreCnull eins zweidie Zeile mit der Nummer zwei und daraus die Spalte mit der Nummer nulldas hier wäre C zwei nulldass sie wäre zehn null null C eins null C drei nullNummer der ZeileNummer der Spalteich kann es gucken ob da ein Tee drin stehtnunich könnte gucken ob das hier gleichT istVorsicht da einfach Anführungszeichen untenan sie gemerkteinfache Anführungszeichen heißt gib mir die Nummer des Zeichens in der Symboltabelledas hier ist ein Bytesnormalerweisein den üblichen Einstellungenwerde das mit doppelten Anführungszeichenschreiben am Sinne Zeichenkettedas hier sind zwei Bytedie Nummer des Buchstabe Tunterhält eine nulldas immer wieder sie haben willich will die Nummer des Zeichens habendas könnte man so durchexerzierendas bisschenlangweiligvielleicht ?? seiner mal gebrauchenkönnen gucken obdanachein E stehtdieses Problemfestesin das ist jetzt nicht gerade so intelligent wahrscheinlichdas so zu machen ?? echt viel zutippen hierob in der nächstenSpalte das S steht und ob in der nächsten SpaltedasT stehtanwäre das schon alles sicher damit auf der sicheren Seite dieser Frage natürlich nichtdass wir das noch nicht was ist das Problem was könnte man noch passierengenau sie hätten die ersten vier Buchstaben geprüft sie würden auch männliche Testwand wird sich ein Schreibenaus geringer die vier Buchstaben stimmen schöndas wir nicht im Sinne des Erfinders als ich müsste jetzt auch noch prüfen ob der nächstedie null istist das mit der Nummer vierdienulloder alternativen Schreibweisein den einfaches Anführungszeichen untendass das immer so steht?? mit dem Backslash Dankdas wäre die Nummer des Symbols nullalso die Nummer des Symbols null das wird hexadezimaldrei nullachtundvierzigdezimaldas die Nummer des Symbols nulldas will ich nicht ich will nicht die Nummer des Symbols nur ??sondern ich will wichtig das Bitmuster nullnull unternommenen?? mit Ungesetzes Komma so schreibt ?? Komma damit ich die Zahl Null ohne Anführungszeichenoder dassich glaube ich findedas sie eine Stelle ganz schlechtdamit sagen sierichtig die Zahl null das Symbolwas dann die Nummer null hat ich das Symbol Komma nur so würde das funktionieren ?? müsste jetzt das Test findenokayschön ?? ich nochsagenExperten massenhaft pointierte Objekte ?? Auto war sehr schönmeine Variable ?? Honigasiaist siesehr schönsie sehen die eigenwilligeFehlermeldungExpressmasseHunderte ObjektteilA von Iwäre einindirekter schonjetzt gar nicht von einem Internetversagenjetzt gib mir davonden Eintrag Nummer zweieine ZahlA von I wäre schon eine Zahl davon Komma nicht den Eintrag Nummer zwei habendas gibt dir den Ärgerdas muss alles C heißen meine Zeichen?? mit diversen Zeichenketten heißt siezehnNester versuchenso weit so gutichgeh mal bis zu dieser Zeile hier müsste jetzt erst gefunden habenunter?? und unser I ist gleich?? willichmaximal den Compilern bis hin ?? schreibt immer die gleiche wie in der Hoffnung dass der Compiler so dumm ist und es ihn umso länger stehendesdasist einmalokay ich gleich drei?? überzeugte Compilernull eins zweider Eintrag mit der Nummer drei ist Testund jetzt die Beweglichkeit des soweit das gut ausdasist die langatmigeArt das zu schreiben ?? glücklicherweisewaren die Erfinder von sieein bisschen nett zu unsmüsse sich ganz heftig schreibeneinige Leute haben zugeschrieben wie man das in den moderneren Sprachen schreiben kann leidernicht in sie ?? die Versuchung ist groß es so zu schreibendas kann sie leider nichtmit den C++ auch weiterhin das Wahrnehmen geht es auch nichtdas Problem ist für C ist das hierdie Adressedes ersten Buchstabensim Speicherwo stehtdieserdiese Zeichenkette wo steht die im Speicher was ist die Hausnummer im Speicher von diesem erstenMulden wenn sie von dem vordersten Buchstabe O steht der im Speicherdas heißt das für Cund das vergleiche ich jetzt damit zwo dervorderste Buchstabe von Test im Speicher nicht und wenn die gleich sindwäre daseher Zufalldas heißt das Ding macht überhaupt nicht das was wir wollenes läuft zwar durch absurdausmacht überhaupt nicht das was wir wollen die spannende Geschichte ist die Fortentwicklung der Compiler ?? ?? glaube ich dass der Compiler so klug ist ich denke nicht dass er herein geht Komma guckenMamaausführen bis CursorCursorerheblich von den hundert offiziell besetzter Breakpoint in unserem ausführenSemikolonExit quietschtder ist schlicht und ergreifend darüber gelaufen ist hier nicht angekommensie würden hoffen dass wir die Zeichenkette finden Testdas Ding kommt da einfach nicht anbei der zwei Sachen vergleicht von den sie nicht glauben dass sie verglichen werden ?? vergleicht wo steht diese Zeichenketteim Speicher mit wo steht diese Zeichenkette im Speicherüberhaupt nicht was sie wollenaberist diese Funktionsstringkommt er aber dieses Problem hat natürlich andere Leute auch schon gehabt es gibt diese Funktion StringkomperSDR C MPdieser Funktion geben Siezwei Zeichenkettenund die Funktion sagt ihn dann wie die stehen im Alphabet die beiden Zeichenketten steht die eine vor der anderen oder die andere vor der einen und die beiden gleichdiese Funktiongibt null auswenn die beidengleich sind King plus eins oder minus eins je nachdem wie die bei dem Alphabet stehen Punktmich interessiert die gleich sind deshalb daseinige Leute hatten gerade folgendes probiertdas man die Funktionvergleicht mit Test das Fusionsergebnisvergleicht mit der ?? das wäre auch nicht im Sinne des Erfindersdas Funktionsergebnisist eins oder minus eins oder plus eins je nach alphabetischer Reihenfolgeich vergleiche nicht minus eins plus eins eins mit Testnein ich gebe der Funktion zwei Zeichenkettensound vergleiche was rauskommtmit nulldie Reihenfolge bei Zeichenkettenist egal ob sieTest gleich dem es was im Recht steht oder ob das was im Rest gleich Test es ist natürlich nurdas es egal in welcher Reihenfolgedie Funktion Krieg zwei Zeichenkettenund sachtwie dem Alphabet stehen beziehungsweise mit null sagt gleichdiese Funktionmuss natürlich irgendwodeklariert werden?? Stringkaralsoes gibt ?? Standard benötigte sie das nennt Standardbibliothekan Funktionendie mit CO mitkommenda finden Sie unter anderen dann Stringhaarfunktionendie sich mit Zeichenketten auskennen und Komma dass sie noch malinjetzt?? esist es im Bauch ?? ich setze noch mal den Breakpointhier jetzt ein Breakpointunterlassen Komma laufenderund ?? Lander tatsächlichdiesmal wieder eine wildeeine Welle benannt und müssteihn noch mal passieren dass der Compiler Seagategeht also tatsächlich rein das wäre die übliche Art im Anschreiben würde in zehn?? moderner Sprachen dürfen Sie gerne C von I und Test vergleichenin Chaben sie die Funktionssenkungder zu diesem Zweck