strcmp funktion selber coden
-
du musst nicht auf beide enden prüfen...
sieht zwar auch nicht gerade toll aus, aber davor sah es noch hässlicher aus ;P
(und noch dazu war deine fkt noch immer falsch, weil sie nur das erste zeichen geprüft hat...)int MyStrCmp (const char *str, const char *str2) { for(; ; ++str, ++str2) { if(*str != *str2) return *str > *str2 ? 1 : -1; if(*str == '\0') break; } return 0; }
vll kann man das hier:
if(*str != *str2) return *str > *str2 ? 1 : -1;
weiß nich genau, ob man hier iwie str-str2 schreiben kann - weil signed unterlauf ja impl. defined ist - >0 / <0 sollte eigtl noch stimmen, nur das ergebnis nicht zwangsläufig - hab aber gerad keine zeit mehr, darüber nachzudenken, was passieren könnte^^
bb
PS: C Unterforum
Nur mit einigen Feinheiten von C++ wie zB den Kommentarbefehlen //
schlechter scherz?
edit: ok, hab den grund gefunden
-
c.nub schrieb:
Sehr gut, hab es hin bekommen.
Wenn ihr wollt schicke ich euch den ganzen Code von meinem Miniprogramm.
Jemand hat gesagt, ich bin hier nicht richtig, wo sollte ich hin? Ich programmiere in C nicht in C++. Nur mit einigen Feinheiten von C++ wie zB den Kommentarbefehlen //
Hier her, fühl dich herzlich willkommen:
http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html
Nachtrag:
hab nich alles gelesen: aber wieso willst du nen eigenes bauen, wenn dir offensichtlich grundlegendes wissen fehlt?
Einfach nicht ernst nehmen. Mach's so wie Wikipedia.
-
mngbd schrieb:
Sag mal... warum nervst du denn damit die C++-Leute? Die haben für sowas strings.
Da nervt man besser die ANSI-Leute, aber am besten Google:
http://www.google.at/search?q=strcmp+implementationStell dir vor! Der vierte Treffer ist sogar auf Wikipedia!
Ich mag es grundsätzlich nicht, Leute fertig zu machen, aber bei dir muss es einfach sein.
1. Wenn du schon die überschrift von meinem Theard siehst, warum klickst du drauf? Nein du musst so assozial sein, und unbedingt auffallen und anders sein als wie die anderen Leute, die hilfsbereit und nett sind, und überhaupt nicht meckern.
2. Das war mein erster Beitrag hier, das kann schon sein, dass man beim ersten mal auf das falsche klickt, weil ich mich noch nicht so gut auskenne.
Ich programmiere erst einen Monat in C. Davor habe ich nur VB gelernt.
3. Ich nerve hier keinen außer dich.
4. Ich kann zwar sehr gut Englisch (gibt es sicher auch in Deutsch, aber ich sage das für den Fall, dass dann ein billiges Konterargument kommt wie: "ja nur weil du kein Englisch kannst"), aber falls ich dann doch eine Frage habe, und es nicht ganz verstehe, dass ich fragen kann. Ich habe mich erst hier angemeldet. Man sollte nen IQ-Test in die Registration einbauen, dann können so Typen wie der da nicht hier rein.Grow up. Auch wenn du älter bist.
-
c.nub schrieb:
Jemand hat gesagt, ich bin hier nicht richtig, wo sollte ich hin? Ich programmiere in C nicht in C++. Nur mit einigen Feinheiten von C++ wie zB den Kommentarbefehlen //
Guck doch mal in der Forenübersicht. Das sieht folgendermaßen aus:
**Programmiersprachen
**
ANSI C
Fragen zu bestimmten Funktionen und Abläufen in C, Benutzung der Standardlibs von C, Zeiger und Strings. Fragen zu C für Dummies hier stellen, bitte keine Fragen zu Windows/Linux oder C++!C++
Fragen zu bestimmten Funktionen und Abläufen in C++ (nach dem ISO-Standard), damit man mal erfährt, was pure virtual bedeutet, oder wie das mit den Templates und der STL geht. Bitte keine Fragen zu Windows/Linux-Programmierung hier posten!C# und .NET
Fragen zur neuen Sprache C#, zu den Funktionen und Abläufen, Anwendungen und Befehlen. Außerdem der Anlaufpunkt zu Fragen rund um die .net-Plattform. Fragen zu den IDEs gehören nicht hier rein (Bedienung/Installation/... von VC++.NET/2003 -> VC++ Forum).Java
Plattformunabhängige Programmierung basierend auf dem aktuellen SDK. Einbindung von systemabhängigem Code in Java, Java-Swing, RMI, Reflection und natürlich objektorientierte Programmierung mit Java. Kein JavaScript!Assembler
Für die Hardcore-Freaks unter uns... hier wird nur mit Mnemonics und Hexzahlen gearbeitet. Von 80x86 bis PIII und Athlon, aber auch andere Prozessoren werden nicht ignoriert. Lasst aber die Lötkolben stecken!Was davon klingt denn deiner Meinung nach so, als könnte es dort um C gehen?
-
schlechter scherz?
hab nich alles gelesen: aber wieso willst du nen eigenes bauen, wenn dir offensichtlich grundlegendes wissen fehlt?Weil wir das in der Schule machen. Für diese Aufgabe fehlt mir nicht das grundlegende Wissen, eher die Befehle für eine elegantere Lösung.
-
SeppJ schrieb:
Was davon klingt denn deiner Meinung nach so, als könnte es dort um C gehen?
ANSI C??^^
-
richtig, ansi c...
du hast aber mittlerweile mitbekommen, dass deine fkt noch immer nicht das tut, was sie soll?!
bb
-
Doch habe ich mit bekommen.
Aber beim return komm ich nicht mehr mit. Das mit dem Fragezeichen haben wir zB noch nicht gelernt.
Es gibt sicher eine andere noobigere Variante für Noobs wie mich^^
Ich überlege mal weiter, und guck mir das nochmal an
-
Ich mag es grundsätzlich nicht, Leute fertig zu machen, aber bei dir muss es einfach sein.
1. Wenn du schon die überschrift von meinem Theard siehst, warum klickst du drauf? Nein du musst so assozial sein, und unbedingt auffallen und anders sein als wie die anderen Leute, die hilfsbereit und nett sind, und überhaupt nicht meckern.Nicht böse sein! Das ist ein alter Krieg zwischen uns und volkard, der hier sicher bald aufgetaucht und dich vollends verwirrt hätte. Nichts wie weg, wenn es nicht um C++ geht! Hier findest du weniger Leute, die Ahnung von C haben, als du vielleicht erwarten wirst. Müssen sie aber auch nicht.
Warum ich auf die Überschrift klicke? Weil ich befürchtet habe, dass man dir einfach nur sagen wird: "nimm std::string".2. Das war mein erster Beitrag hier, das kann schon sein, dass man beim ersten mal auf das falsche klickt, weil ich mich noch nicht so gut auskenne.
Ich programmiere erst einen Monat in C. Davor habe ich nur VB gelernt.Ist mir beim ersten mal ganz genauso gegangen. Macht ja nichts!
Ich werde mal anregen, das ANSI-Forum von "ANSI C" nach "C" umzubenennen, vielleicht stosse ich da ja auf Zustimmung.3. Ich nerve hier keinen außer dich.
Wie kommst du darauf? Ich bin doch kein C++-Mensch...
4. Ich kann zwar sehr gut Englisch (gibt es sicher auch in Deutsch, aber ich sage das für den Fall, dass dann ein billiges Konterargument kommt wie: "ja nur weil du kein Englisch kannst"), aber falls ich dann doch eine Frage habe, und es nicht ganz verstehe, dass ich fragen kann. Ich habe mich erst hier angemeldet. Man sollte nen IQ-Test in die Registration einbauen, dann können so Typen wie der da nicht hier rein.
Sowas muss nun aber wirklich nicht sein, oder? Ich kann leider nichts dafür, dass der Vorschlag von Wikipedia besser ist, als alles was hier bis jetzt gekommen ist. Wäre es besser gewesen, wenn ich dir meine eigene verbuggte Version gebaut hätte?
Ich gehe also mal davon aus, dass du es nicht böse gemeint hast, und versichere dir, dass ich es auch nicht böse gemeint habe. Sonst müsste ich dich nämlich in Zukunft ignorieren, und ich will ehrlich niemanden vergraulen.
-
der hier sicher bald aufgetaucht wäre
-
Sehr schön, höflich sieht es viel besser aus.
Ja es wäre wirklich gut das auf C umzubennenen weil mich das mit dem ANSI verwirrt hat.
Danke hast es anscheinend nur gut gemeint.Ich komme immer noch nicht drauf was der Fehler ist. Ich denke mit einer Fußgesteuerten Schleife sollte er durchlaufen und nicht beim 1. Zeichen abbrechen. Ich mache mal ein Theard drüben auf.
Danke bis jetzt