fehlermeldung...aber was heißt die?
-
kommt immernoch die gleich fehlermeldung!
-
strcmp() ??
-
fgdsfg schrieb:
strcmp() ??
was sill das heißen???
ich bin ein bischen c++ noob!
-
if!(strcmp(deinstring, 'j'))
-
... noch besser...
ich weß immer nochned was du meinst
tut mir jaecht leid
-
installier dir mal die msdn
strmcp() ist eine funktion die 2 strings vergleicht, hier die Funktionsweise
**
Routine Required Header Compatibility
strcmp <string.h> ANSI, Win 95, Win NT[...]
Return Value
The return value for each of these functions indicates the lexicographic relation of string1 to string2.
Value Relationship of string1 to string2
< 0 string1 less than string2
0 string1 identical to string2
> 0 string1 greater than string2On an error, _mbscmp returns _NLSCMPERROR, which is defined in STRING.H and MBSTRING.H.
Parameters
string1, string2
Null-terminated strings to compare
**
D.h. du willst haben deinstring == 'j', also sollen sie identisch (identical == 0) sein, sprich du rufst die funktion auf
strcmp(deinstring, 'j'), die liefert jetzt, falls die identisch sind 0 zurück, also
if(strcmp(deinstring, 'j') == 0)
oder
if!(strcmp(deinstring, 'j'))
alles klar
?
-
warum ned gleich so ^^
aber wen ich das mach kommt ne andere fehlermeldung!
geht also auch ned
-
Quellcode posten
-
mkey
#include <iostream> #include <time.h> using namespace std; int main() { //open main //Initialisieren der Variablen int i; int v; string a; time_t sec; time_t sec2; //Abfrage wie weit gezählt werden sol cout << "Wie weit soll gezealt werden?\n"; cin >> v; sec = time (NULL); //Starteit wird gespeichert //Das zählen selbst for (i=0; i<v; i++) { //open for cout << i << "\n"; } //close for sec2 = time (NULL); //Endzeit wird gespeichert cout <<"Dein PC hat in "<< sec2-sec << " sekunden bis " << i << " gezeahlt.\n"; //Ausgabe wielang und bis wo //Soll nochmal gezählt werden cout <<"Nochmal? ja = 'j'. nein = 'n'.\n"; cin >> a; if (a == "j") { //open if main(); } //open if else { //open else return 0; } //close else } //close main
ich hab mich bemüht es übersichtlich zu halten ^^
-
Wie soll er denn einen std::string mit strcmp() vergleichen
Vergiss das alles wieder.
1. op>> ist nicht überladen, benütze stattdessen:
string mystring; getline(cin,mystring);
2. Ein einzelnes Zeichen kann man icht mit einem ganzen String vergleichen, vergleiche stattdessen String mit String:
if(mystring == "j") // "" = String, '' = Zeichen
MfG SideWinder
-
was hab ich denn anderes geschrieben? bzw ich sehe meinen fehler nicht? dazu hab ich doch zuerst geraten
-
muss ich denn noc was anderes einbinden? es geht immer nochned!
-
1. Posting: Wieder einfache Anführungszeichen benützt
2. Posting: strcmp() - sowas braucht man mit std::string eigentlich nie
3. Posting: Wieder strcmp() und nochmals einfache Anführungszeichen, op! vor der if-Bedingung (vor der Klammer)
4. Posting: Siehe 3. PostingAlso wo bitte sind deine richtigen Antworten?
MfG SideWinder
-
string a; cout <<"Nochmal? ja = 'j'. nein = 'n'.\n"; cin >> a; if (a == "j")
mach daraus:
string a; cout <<"Nochmal? ja = 'j'. nein = 'n'.\n"; cin >> a; if(!(strcmp(a.c_str(), "j")))
Ka was daran falsch sein soll
-
FlameDiver schrieb:
muss ich denn noc was anderes einbinden? es geht immer nochned!
1. Fehler
2. Genaue Zeilenangaben wo der Fehler auftrittMfG SideWinder
-
LESEN !!!
MfG SideWinder
-
immernoch der bei dem == zeichen und getline is unbekannt!
-
ohohoho nein entschuldige meine schnellen tippfehler
Auf solche Kleinigkeiten kann man noch alleine kommen.
-
nicht wenn man solche überragenden c++ kenntnisse hat wie ich ^^
-
#include<string>
wär wahrscheinlich nicht verkehrt
vergiss den strcmp-Müll.