Stringlänge berechen
-
kralo9 schrieb:
Ähm, du willst die Reference zu "String" nicht zo "C-String"...
Suchmaschinen benutzen ist doch einfach! Such nach dem was du willst und nicht nach dem was du nicht wissen willst..Die C++ Bibliotheken bzw. Funktionen werden ja unter der Rubrick "Other" geführt... Jetzt geht mir (endlich) ein kleines Licht auf...
-
silent_max schrieb:
Willst Du mir jetzt die Schuld dafür geben, dass ich es von der Schule aus so lerne???
Man kann auch außerhalb von der Schule lernen.(Internet,Bücher,etc.)
0x0ERROR
-
Du kannst mit C-Strings auch bei C++ arbeiten.
C-Strings sind eine Vereinbarung (Nullterminiertes char-Array)
string in C++ ist ein eigener (neuer) Datentyp.
-
silent_max schrieb:
Die C++ Bibliotheken bzw. Funktionen werden ja unter der Rubrick "Other" geführt... Jetzt geht mir (endlich) ein kleines Licht auf...
Nein!
Unter 'Other' wird geführt, was nicht zu Containern und In/Output gehört! Auch dort geht es um C++!
-
Um das nochmal deutlich zu sagen, in der Programmiersprache C gibt es den "Datentyp" String nicht.
Schau Dir x-beliebige C-Programme an, dort wird immer mit Chararrays gearbeitet.
Ein gutes Beispiel ist:
C-Programm:char string[] = "die schoenen Dinge im Leben sind umsonst.";Man beachte, die Bezeichnung string ist lediglich der Name für das Array.
Zum Vergleich in C++:std::string test="die schoenen Dinge im Leben sind umsonst.";Deutlich wird der Unterschied auch daran, daß man bei C++ Programmen, wenn man mit der Klasse (bzw. dem Datentyp) std::string arbeiten möchte, diesen auch einbinden muß mit
#include <string>
-
redrew99 schrieb:
Deutlich wird der Unterschied auch daran, daß man bei C++ Programmen, wenn man mit der Klasse (bzw. dem Datentyp) std::string arbeiten möchte, diesen auch einbinden muß mit
#include <string>Was ist dann mit der Klasse
cstring???? Werden da alle Funktionen, die bezüglich char Arrays die unter Strings geführt werden, aufgeführt?
-
Es gibt keine Klasse cstring im Standard! Wo hast Du die her?
Und es gibt keine
"char Arrays die unter Strings geführt werden"
was soll das denn sein?Mann, Mann, Mann ...
-
Belli schrieb:
Es gibt keine Klasse cstring im Standard! Wo hast Du die her?
http://www.cplusplus.com/reference/cstring/
Edit: Aus der Bibliothek habe ich ja auch die Funktion
strchr
-
Was soll der Scheiß-Link? Wo ist da eine Klasse cstring?
Das steht für Dich auch extra unter:
C library!
Und weißt Du, womit sich die C library beschäftigt? Nein?
Mit der Sprache C
Und in C gibt es keine Klassen, wenigstens das sollte doch mittlerweile auch bis zu Dir vorgedrungen sein ...Nun beruhig mich endlich und gib zu, dass Du uns hier alle nur verarschst ... bitte!
-
Belli schrieb:
Was soll der Scheiß-Link? Wo ist da eine Klasse cstring?
Also unter C++ Reference gibt es unter der Rubrick C Library die Unterrubrick cstring(string.h). Schau halt nach...
Wie schon geschrieben: Woher meinst denn Du, dass ich z.Bsp. die Funktion strchr habe?
-
redrew99 schrieb:
string in c++ ist im Grunde eine Klasse, kein Datentyp wie z.B. ein Char.
(Zumindest sollte man das als Anfänger zum Lernen so handhaben.)
Deswegen kann man mit Strings nicht das Gleiche machen wie mit Chars.Was meinst du genau mit "Datentyp" im C++ Kontext?! Ein Typ für Variablen, in denen man Werte speichern kann? Das wären dann "Objekttypen". Klassen sind allerdings auch Objekttypen. Oder willst du hier auf die POD-Eigenschaft hinaus?
Ich bin der Meinung, dass man einen Anfänger nicht unnötig mit Unterkategorien wie POD belasten muss. PODness wird erst interessant, wenn man an Objekte z.B. per memcpy ran oder mit C interfacen will.
Ich sehe absolut keinen Sinn darin, zwischen built-in Typen und Klassentypen zu unterscheiden, wenn sie sich praktisch in den ersten Übrungen tatsächlich nicht unterscheiden. Ob du jetzt std::string oder int oder double verwendest, Objekte dieser Typen lassen sich kopieren, zuweisen, u.s.w. -- alles ganz normale Sachen.
Und natürlich ist std::string nicht dasselbe wie char. std::string ist ein Objekttyp für Variablen zum Speichern von Zeichenketten. char ist ein Objekttyp für Variablen zum Speichern einzelner Zeichen.
-
silent_max schrieb:
Belli schrieb:
Was soll der Scheiß-Link? Wo ist da eine Klasse cstring?
Also unter C++ Reference gibt es unter der Rubrick C Library die Unterrubrick cstring(string.h). Schau halt nach...
Wie schon geschrieben: Woher meinst denn Du, dass ich z.Bsp. die Funktion strchr habe?
Na dann ... und ... schon mal ein Objekt der Klasse cstring erstellt?
Ich gebs jetzt endgültig auf, ich verspreche es!
-
silent_max schrieb:
Belli schrieb:
Was soll der Scheiß-Link? Wo ist da eine Klasse cstring?
Also unter C++ Reference gibt es unter der Rubrick C Library die Unterrubrick cstring(string.h).
Das ist aber keine Klasse.
Schau halt nach...
Vielleicht solltest du einfach mal den Ball flachhalten, du bist hier derjenige, der keinen Plan hat.
-
C-String
Bibliothek:string
Datentyp:char
Mit C-String meine man eine Folge von Zeichen des Types char, die mit '\n' abgeschlossen wird.C++ - String
Bibliothek:string
Datentyp:std::string
Der in der Standardbibliothek definierte Typbasic_stringist ein Template und ermöglicht das Arbeiten mit verschiedenen Zeichen, also auch mit >>wide characters(Typwchar_tHabe ich es jetzt verstanden?????
-
Bashar schrieb:
silent_max schrieb:
Schau halt nach...
Vielleicht solltest du einfach mal den Ball flachhalten, du bist hier derjenige, der keinen Plan hat.
Na lass mal gut sein, frech oder unverschämt ist er noch nicht geworden, man kann ihm wirklich viel vorwerfen, aber das nicht.
-
@max:
Halt Dich einfach - vorläufig (und damit meine ich nicht nur ein paar Tage) - von allem was unter
C library
aufgeführt ist, fern!
Benutze - vorläufig (siehe oben) - weder
char varName [];
noch
char *varPtr;Interessiere Dich - vorläufig - einfach nicht für C-Strings und alles was damit zu tun hat, sondern ausschließlich für std::string und die std::string - Methoden. Vielleicht wird es dann ja mal was ....
-
vielleicht solltest du lieber mit der folgenden Referenz arbeiten:
-
String class
String objects are a special type of container, specifically designed to operate with sequences of characters.Also noch mal in meinen Worten gefasst:
String Objekte sind ein spezieller Typ von Container, speziell entworfen für das Arbeiten mit Zeichen
-
Ja genau ... und deshalb vergiss einfach, dass es sowas wie C-Strings auch noch gibt - vorläufig jedenfalls, die brauchst Du nämlich - vorläufig - nicht!
Das bewahrt Dich davor, die Dinge durcheinanderzuwerfen.
-
Belli schrieb:
Ja genau ... und deshalb vergiss einfach, dass es sowas wie C-Strings auch noch gibt - vorläufig jedenfalls, die brauchst Du nämlich - vorläufig - nicht!
Das bewahrt Dich davor, die Dinge durcheinanderzuwerfen.Ja ok...
Edit: Nur damit ich das verstehe ... C-Strings haben rein gar nichts mit C++-Strings zu tun.