Kleine Sektflaschen Hochzeit
Lesezeit: 2 Minuten rksprst
Ich habe zwei Variablen:
char charTime[] = "TIME";
char buf[] = "SOMETHINGELSE";
Ich möchte überprüfen, ob diese beiden gleich sind … mit charTime == buf funktioniert nicht. Was soll ich verwenden und kann mir jemand erklären, warum? == geht nicht? Wäre diese Aktion in C und C++ anders? char charTime[] = "TIME"; char buf[] = "SOMETHINGELSE";
C++ und C (Löschen std:: für C):
bool equal = (std::strcmp(charTime, buf) == 0);
Aber der wahre C++-Weg:
std::string charTime = "TIME", buf = "SOMETHINGELSE";
bool equal = (charTime == buf);
Verwenden von == funktioniert nicht, weil es versucht, die Adressen des ersten Zeichens jedes Arrays zu vergleichen (offensichtlich sind sie nicht gleich). Der Inhalt beider Arrays wird nicht verglichen. In c könnten Sie die strcmp-Funktion von string. h verwenden, sie gibt 0 zurück, wenn sie gleich sind
#include
Wir sind hier ja schließlich bei C++ und nicht bei C. ja würde ich machen aber leider gibt mir nichts aus... ): probier doch mit dem bsp-code aus So müsste es Funktionieren: #include
int main(int argc, char *argv[]) { if(argc == 2) ifstream eagle(argv[1]); if(_open()) string buffer(""), test("operational"), tmpStr; while(getline(eagle, tmpStr)) buffer += tmpStr + '\n'; bool adsl_test = ((test)! = string::npos); cout << "\n adsl_test: " << adsl_test << endl;} else cout << "\n Datei \'" << argv[1] << "\' konnte nicht zum lesen geoeffnet werden\n";} cout << "\n Aufruf: txt-Datei\n"; return 0;} danke caipi... hab jetzt auch ne lsg. string ready = "operational"; string init = "initializing(INITIALIZING)"; string un_plugged = "Pre-firmware device"; //string working = "Connection seems to be already started! Char vergleichen java. "; string sbuffer; FILE *eaglestat; eaglestat = popen( "eaglestat", "r"); if(eaglestat == NULL) { fprintf(stderr, "Konnte keine Pipe zum Modem erstellen! \n"); while(! feof( eaglestat)) { if( fgets( buffer, 8096, eaglestat)!
= a) std::cout << str[i];}} std::cout << std::endl; return 0;} danke für deine Antwort, aber ich bin totale anfänger und desswegen ist diese lösung für mich schwer. in der Angabe ist gegeben, dass mit der eingabe! Zwei char-Variablen vergleichen? — CHIP-Forum. soll Programm beendet werden und dabei habe ich gegoogelt und es wird gegeben dass mit exit(0) programm beendet wird. Ich habe ausprobiert und leider funktioniert nicht if(a== '! ') exit(0); else{ ausgabe += satz[i];} cout << ausgabe<< endl; return 0;}
Zuletzt bearbeitet von einem Moderator: 19. März 2012 #4 Hi print gibt also eine einzelnen char (keinen Pointer oder so) aus? Dann müsste das funktionieren. Geht zwar einfacher, aber sollte so auch passen. (strcmp ist zum Vergleichen von zwei kompletten Strings. Jeden char einzeln mit = so wie hier passt schon. ) Prüf mal, was als szString übergeben wird. Ob das überhaupt eine \0 hat. Vergleichen Sie die Gleichheit von char[] in C - ViResist. #5 Print ist eine Assemblerfunktion, die das einzele Char ausgibt. Es muss an dem 'i' liegen, weil das nicht inkrementiert wird. Hm. Ich weiß nicht, wie ich überprüfen soll, was ankommt. Ich übergebe printString("Ha"); Aber C hängt doch automatisch ein Nullzeichen an, oder? #6 Gib am besten einmal den ganzen Code an. Ja, C hängt automatisch das Nullzeichen an. Lg #7 Code: [BITS 16] global print print: push bp mov bp, sp mov al, [bp+4] mov ah, 0x0E int 0x10 pop bp ret Und die C Datei extern void print(); extern void restart(); extern char read(); int printString(char* szString); short i=0; short finished=0; int main() { printString("Ha"); while(read()!
= 'r'); restart(); Ist alles 16 bit. #8 Also ich habe statt dem print() ein printf() genommen (ich kenne mich bei Assembler nicht aus) und alles hat funktioniert. Entweder liegt der Fehler am print(), oder in der main-Umgebung. #9 Ich schreibe ein kleines OS. Deshalb kann ich keine Funktionen benutzen. print('X') funktioniert perfekt. Ich benutze GCC MinGW als Crosscompiler. Vergleiche Char in C | Delft Stack. Kann es daran liegen? #10 Was passiert eigentlich, wenn du die Funktion aufrufst? Also gibt es eine Endlosschleife, wird überhaupt etwas ausgegeben? Lg
Die Form folgt der Funktion, und unter Verzicht auf unnötigen Klimbim und funktionalen und gestalterischen Ballast kann tatsächlich etwas neues und Schönes entstehen. Ich verweise hier als Beispiel auf die Geräte der Firma Braun aus der Zeit von ca. 1950 - 1980. Fast immer, wenn heute der Begriff Design bemüht wird, ist vom exakten Gegenteil dieser Definition auszugehen. Ein "Handlauf", der der Hand keinen Lauf bietet, ist schnöder Schnickschnack und sinnlos... #17 Was ja nicht unbedingt heißen muss, das du automatisch auch was davon verstehen muss. Übrigens danke Mathis für deine Meinung. Befestigung für handläufe. #18 Bleiben wir doch mal lieber mal bei der Brüstungsabdeckung in einem Treppenhaus des Fragers. Das es möglich ist solche breiten Abdeckungen als funktionierenden Handlauf zu gestalten, zeigen viele schöne gebaute Beispiele, nur sind die schon maschinentechnisch meist nicht im Bereich des DIY Bereiches so ganz locker erstellbar. Wenn das Alter mal beim Fragesteller seine Wirkung zeigen sollte, kann er ja immer noch einen klassische Griff- stange auf die Abdeckung schrauben.
Design gut Funktion und Nutzwert schlecht #11 falsch, hier geht es nicht um Design sondern rein um die Optik. Hätte ich etwas von Design geschrieben, hätte ich das schon ist nicht immer alles Design, das müssen sich die Leute alle mal etwas genauer betrachten.... p. s. wenn Design gut, dann Funktion und Nutzwert gut. Sonst gar nix und kein Design..... #12 Lies mal das: Design? Wikipedia Ich denke das hast du einen falschen Blick auf die Sache. Das Objekt in diesem Fall der Handlauf und die Formgestaltung (Design) in diesem Fall das wie auch immer befestigte Brett auf der Mauer und dieses kann meiner Meinung seiner Funktion nicht erfüllen, weil man sich über die Breite des Brettes einfach nicht halten kann. #13 Hallo Andreas das hat Tom doch recht treffend in seinem Nachsatz ausgedrückt. Das es sich hier um keinen Handlauf handelt, hatte ich schon in #2 gesagt. Denke schon das es für jeden der sich ernsthaft mit der Gestaltung von Geräten des täglichen Gebrauchs beschäftigt, nur noch lächerlich ist was sich im heutigen Sprachgebrauch unter Design bewegt.
Sehr geehrte Kunden, der Trend, der durch die Corona-Pandemie ausgelöst wurde, setzt sich noch immer fort und wurde seit Februar dieses Jahres noch einmal massiv verstärkt. Die Preise auf den Rohstoffmärkten sowie im Energie- und Transportsektor sind überproportional gestiegen und steigen weiterhin stetig. Diese Entwicklung zwingt uns jedoch jetzt dazu, darauf zu reagieren, um Ihnen weiterhin die gewohnte Qualität liefern zu können. Aus diesem Grund ist es leider unumgänglich, ab dem 15. Mai 2022 einen Teuerungszuschlag in Höhe von 8, 4% auf alle Bestellwerte zu erheben. Wir bitten dafür um Ihr Verständnis. Ihr Team der Firma bima Industrie-Service GmbH 12 Produkte (23 Artikel) 1 Aluminium-Enddeckel für Aluminium-Handlaufprofile Ausführung Stoßverbinder aus Aluminium für Aluminium-Handlaufprofile Ausführung Handlauf-Ecke 90° aus Aluguss, starr Ausführung Aluminium-Pfosten-/Handlaufverbinder für Aluminium-Handlaufprofile Ausführung Alle Maße sind Zirka-Maße. Irrtümer und technische Änderungen vorbehalten.