Mehrere Stringbeispiele von c++ reference funktionieren nicht...
-
Du bist dir ein bisschen unschlüssig wie Standard geschrieben wird.
Es geht dabei nicht um die Art und weise wie du stehst.
Standarteingabe
-
silent_max schrieb:
1.) Funktion put(char)
Die Funktion gehört zur Standardausgabe. Sie schreibt einen Buchstaben zur Standardausgabe.
Beispiel:
#include<iostream> #include<cstdio> int main() { char c; for (c = 'a'; c<='z'; c++) putchar(c); for (c = 'A'; c<='Z'; c++) putchar(c); return 0; }Ich denk es geht um put(), wieso benutzt du putchar()?
-
Versuch mal das.

#include<iostream> #include<fstream> using namespace std; int main() { int length; char * buffer; ifstream is; is.open ("test.txt", ios::binary ); if(!is) { std::cout << "test.txt ist leider nicht erreichbar; Versuchen sie es spaeter wieder!\n"; return 1; } // bekommt Länge einer Datei is.seekg (0, ios::end); length = is.tellg(); is.seekg (0, ios::beg); // ordnet Speicher zu buffer = new char [length]; // liest Daten als einen Block is.read (buffer,length); is.close(); cout.write (buffer,length); delete[] buffer; return 0; }
-
Ersteinmal danke für die bisherigen Antworten.
Bashar schrieb:
put(), wieso benutzt du putchar()?
Ich habe einmal versucht, es über den Datentyp String zu programmieren.
Hier der Code:
#include<iostream> #include<string> using namespace std; int main() { string Buchstabe; for(Buchstabe='a'; Buchstabe<='z'; Buchstabe++) cout << Buchstabe; return 0; }Jedoch bekomme ich bezogen auf die Zeile 9 folgende Fehlermeldungen:
Error: Kein "<=" - Operator stimmt mit diesen Operanden überein. Error: Kein "++" - Operator stimmt mit diesen Operanden überein.Wo liegt mein Denkfehler??
Gruß
Max
-
silent_max schrieb:
Wo liegt mein Denkfehler??
was sollte denn herauskommen, wenn du einen std::string inkrementierst?
std::string text = "Hallo"; text++; cout << text; // was sollte hier stehen?
-
silent_max schrieb:
Wo liegt mein Denkfehler??
Du benutzt (bzw. versuchst es), Operatoren auf einem std::string zu benutzen, die für diesen nicht definiert sind.
Sagt doch die Fehlermeldung ganz deutlich!
-
daddy_felix schrieb:
silent_max schrieb:
Wo liegt mein Denkfehler??
was sollte denn herauskommen, wenn du einen std::string inkrementierst?
std::string text = "Hallo"; text++; cout << text; // was sollte hier stehen?Welt!
-
daddy_felix schrieb:
was sollte denn herauskommen, wenn du einen std::string inkrementierst?
Ich will halt über den Datentyp String das Alphabet ausgeben.
-
silent_max schrieb:
Wo liegt mein Denkfehler??
Du vergisst immer wieder, dass
charwas anderes ist alschar[] / char*und auch was anderes ist alsstd::string.
Diese drei Typen sind unterschiedlich zu behandeln.
-
DirkB schrieb:
Diese drei Typen sind unterschiedlich zu behandeln.
Wie muss ich denn String behandeln, damit ich über String das Alphabet ausgeben kann?
-
silent_max schrieb:
Wie muss ich denn String behandeln, damit ich über String das Alphabet ausgeben kann?
gar nicht. das machst du mit "char".
-
daddy_felix schrieb:
gar nicht. das machst du mit "char".
Ok.
-
silent_max schrieb:
Wie muss ich denn String behandeln, damit ich über String das Alphabet ausgeben kann?
Das kommt drauf an was du dir wie erhoffst.
int main() { std::string abc = "abcdefghijklmnopqerstuvwxyz"; for(size_t i = 0; i < abc.size(); ++i) cout << abc[i]; cout << endl; for(auto it = begin(abc); it != end(abc); ++it) cout << *it; cout << endl; for(char c : abc) cout << c; return 0; }Sowas wären Möglichkeiten, aber es kommt drauf an was du willst, was du brauchst...