Verfügbare Informationen zu "strings mit if"
Qualität des Beitrags: Beteiligte Poster: dani93 - DrPhil_Guth - wirthi - detewe89 Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: C / C++ Antworten: 5 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: strings mit if Letzte Antwort: vor 16 Jahren, 3 Monaten, 25 Tagen, 7 Stunden, 28 Minuten
Alle Beiträge und Antworten zu "strings mit if"
Re: strings mit if
dani93 - 05.01.2008, 14:10strings mit if
Hallo
Ich wollte fragen, ob man mit if else auch Strings vergleichen kann.
Code: #include <stdio.h>
#include <conio.h>
int main()
{
char* wort="wort";
if (wort=="wort")
{
printf ("Richtig");
}
else
{
printf ("Falsch");
}
getch();
}
Ich weiß nicht warum, aber hier gibt er immer falsch aus.
Re: strings mit if
DrPhil_Guth - 05.01.2008, 14:20
In C nicht, denn da sind Strings nichts weiter als Zeiger. Und Zeiger werden so lange nicht identisch sein, bis wirklich ein und derselbe string verglichen wird.
Um strings zu vergleichen musst du die funktion strcmp() verwenden.
In C++ siehts allerdings aders aus, da sind strings nämlich objekte. Der == Operator ist für diese objekte überladen, das bedeutet da kannst du sie so verwenden.
Re: strings mit if
wirthi - 05.01.2008, 14:23
Weil ein String intern ein Pointer ist. Zwei verschiedene (oder auch "gleiche") Strings sind dabei auch immer verschiedene Pointer (außer sie kommen aus der gleichen Quelle und es wurden nur die Pointer kopiert).
Was du ja eigentlich willst, ist den Inhalt der Strings zu prüfen. Das geht mit der Funktion strcmp.
Code: #include <string.h>
...
if (strcmp(string1, string2) == 0) {
...
Liefert strcmp 0 zurück, sind die Strings gleich, ansonsten ungleich (bei >0 ist der erste String "größer", bei <0 der zweite; größer bedeutet, dass der erste ungleiche Buchstabe im ASCII-Code einen größeren Wert hat).
Re: strings mit if
dani93 - 05.01.2008, 14:25
OK Danke
Jetzt funktionierts.
Neue Frage:
Warum gehts, wenn ich
Code: char* wort1;
char* wort2;
...
schreib, aber nicht bei
Code: char* wort1, wort2, ...
Re: strings mit if
detewe89 - 05.01.2008, 15:04
Damit würdest Du wort2 nicht als Pointer definieren. Wenn Du ohne Semikolon schreibst, dann so:
Code: char *wort1, *wort2;
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
Error - gepostet von xxx am Freitag 01.12.2006
Zeichen einzeln einlesen - gepostet von bubblelol am Donnerstag 20.09.2007
Compiller zeigt alles an - gepostet von Wüstling am Donnerstag 10.05.2007
Suche: [color=red]ADA 2005 Compiler[/colo, [co und[color=red - gepostet von anarchist am Sonntag 20.05.2007
Mini-Pascal-Programm - gepostet von TSK am Donnerstag 31.05.2007
Brauche Hilfe - gepostet von Belphegor am Montag 05.03.2007
goto - gepostet von Moritz am Sonntag 23.12.2007
Ähnliche Beiträge wie "strings mit if"
[03.08.05] Viframa - Cristalle (Solar Strings & Lead Rem - DJ Headhunter (Mittwoch 03.08.2005)
Strings - abbafreak (Montag 03.09.2007)
Strings - Bloody-Mad-Looney (Freitag 18.08.2006)
Spieltag: 27.02.11 Bredstedt ab 11:00Uhr - Mansen (Mittwoch 23.02.2011)
buying bow strings - dj d4nny 05 (Montag 20.02.2006)
Strings - flossnix (Montag 15.11.2004)
Verkaufe 1K bow strings! - mafiaboss65 (Freitag 26.01.2007)
The Sound Of Strings [ab 16] - Omega MM (Donnerstag 30.08.2007)
Strings Singers - angela (Freitag 20.07.2007)
DerWuppertaler ist da!!! - DerWuppertaler (Mittwoch 03.10.2012)