– alle Daten werden zu chars
– In: bedeutet von aussen zur CPU.
– out: bedeutet von OS nach aussen
————————————————————————————-
istream
char Daten werden übergeben
ostream
sendet chars an eine Ort (file, konsole, speicher, ..)
ifstream [Daten in File ablegen]
– Datei als String mitgeben
ifstream stream_a {„input.txt“}
– Inhalt wortweise in String ablegen string temp
– Strings in Vektor speichern vector <string> input
while (stream_a >> temp) {
// fill vector
input.push_back(temp);
}
ofstream [ lesen von einem file (wird als stream gemacht)]
cout << "Name of output file"
string name_outputfile;
cin >> name_outputfile;
ostream stream_1 {name_outputfile};
if (! stream_1) error("Konnte nicht eingelesen werden.");
strukturiert einlesen
struct Inputdata {
int hour;
double temperature;
};
cout << "Please enter input file name: ";
string name_inputfile;
cin >> name_inputfile;
ifstream ist {name_inputfile};
if (!ist) throw ios_base::failure("can't open input file "+name_inputfile);
vector<Inputdata> temps; // structured vector
int hour;
double temperature;
// read structured in
while (ist >> hour >> temperature) {
if (hour < 0 || 23 <hour) throw range_error("hour out of range");
// fill vector
temps.push_back(Inputdata{hour,temperature});
}
strucktruriert ausgeben
// set brackets for clearer structure
for (int i=0; i<input.size(); ++i)
ost << '(' << input[i].hour << ','
<< input[i].temperature << ")\n";
…