C-Strings
-
Hi,
ich hab mal ne frage zu dem Quelltext:#include <iostream> using namespace std; int main(){ char name[30]; char* zeiger = name; cout<<"Wie heißten Sie?"<<endl; cin>>name; if(name[2] = ){ // Was gehört da rein? Um zu prüfen, // ob der name[2] nicht leer bzw. NULL ist? // if(name[2] = "") ? cerr<<"Ihr Name hat keinen 3. Buchstaben!"<<endl; exit(1); } cout<<"Der dritte Buchstabe Ihres Namens ist ein \'"<<zeiger[2]<<"\'"<<endl; system("PAUSE"); return 0; }
-
if(name[0] == '\0' || name[1] == '\0' || name[2] == '\0')Du willst ja prüfen, ob der Name weniger als 3 Zeichen hat. Das ist der Fall wenn das Zeichen zum Ende des Strings an 1, 2, oder 3. Stelle des Strings steht.
Auf Gleichheit prüft man übrigens mit == und nicht mit = (relativ häufiger Fehler). Ansonsten würde ich mir noch std::string ansehen und nicht unbedingt mit rohen C-Strings arbeiten.
Felix
-
if( strlen(name) < 3)tut es auch.