ich in einem String aus dem stdinput über Readline-() a la nehme:Grabbing Das erste Zeichen eines String
char * cmdLine = readline();
Dann will ich sehen, ob das erste Zeichen des über Readline- erzeugten string() ist ein Ausrufezeichen. Aber der Code
if(cmdLine[0]=="!")
tut das nicht für mich, wie ich gedacht hätte. Ich dachte, dass, wenn die Zeichenfolge aus stdin verhakt sind! „1“ zum Beispiel dann wäre es wahr sein, dass
cmdLine[0]=="!"
Wenn cmdLine einen Zeiger auf eine Zeichenfolge ist, dann kann mich nicht bei jedem Zeichen sehe in der Zeichenfolge mit Array-Klammern? Ich weiß, das ist eine dumme grundlegende c/pointer Frage, aber das ist wirklich stolpern mich auf ...
Der Versuch, eine ganze Zahl zu vergleichen (cmdLine [0]) mit einem Zeiger („!“) Sollte eine dicke, fette Compiler-Warnung erstellt haben. Wenn dies nicht der Fall ist, finden Sie heraus, wie Sie die Warnungen höher setzen können. –
Hier ist eine andere Frage: Klingt Ihr Kommentar hilfreich? Wenn ja, dann bist du ein viel besserer Programmierer als hilfreiche Person ... – nbk
Ja, es ist hilfreich. Sobald die Compilerwarnungen aktiviert sind, werden diese Probleme viel früher angezeigt. Deshalb haben Compiler * Warnungen *. –