{"id":966,"date":"2015-11-17T17:46:30","date_gmt":"2015-11-17T17:46:30","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=966"},"modified":"2015-11-29T11:44:20","modified_gmt":"2015-11-29T11:44:20","slug":"c-stream","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/c-stream\/","title":{"rendered":"C++: stream"},"content":{"rendered":"<p>&#8211; alle <strong>Daten werden zu chars<br \/>\n&#8211; In: <\/strong>bedeutet von aussen<strong> zur CPU.<br \/>\n&#8211; out: <\/strong>bedeutet von<strong> OS nach aussen<br \/>\n<\/strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<strong><br \/>\nistream<\/strong><br \/>\nchar Daten werden \u00fcbergeben<\/p>\n<p><strong>ostream<\/strong><br \/>\nsendet chars an eine Ort (file, konsole, speicher, ..)<\/p>\n<p><strong>ifstream<\/strong>\u00a0 [Daten in File ablegen]<br \/>\n&#8211; Datei als String mitgeben<br \/>\n<span class=\"lang:sh decode:true crayon-inline\"> ifstream stream_a {&#8222;input.txt&#8220;}<\/span><br \/>\n&#8211; Inhalt wortweise in String ablegen <span class=\"lang:sh decode:true crayon-inline \">string temp<\/span><br \/>\n&#8211; Strings in Vektor speichern\u00a0\u00a0 <span class=\"lang:sh decode:true crayon-inline\">vector &lt;string&gt; input<\/span><\/p>\n<pre class=\"lang:sh decode:true \"><strong>while (stream_a &gt;&gt; temp) {<\/strong>      \r\n        \/\/ fill vector\r\n        <strong>input.push_back(temp);<\/strong>\r\n    }<\/pre>\n<p><strong><br \/>\nofstream<\/strong> [ lesen von einem file (wird als stream gemacht)]<\/p>\n<pre class=\"lang:sh decode:true\">cout &lt;&lt; \"Name of output file\"\r\nstring name_outputfile;\r\ncin &gt;&gt; name_outputfile;\r\n\r\nostream stream_1 {name_outputfile};\r\nif (! stream_1) error(\"Konnte nicht eingelesen werden.\");<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>strukturiert einlesen<\/strong><\/p>\n<pre class=\"lang:sh decode:true\"><strong>struct<\/strong> Inputdata {\r\n    int hour;\r\n    double temperature; \r\n};<\/pre>\n<pre class=\"lang:sh decode:true\">cout &lt;&lt; \"Please enter input file name: \";\r\n    string name_inputfile;\r\n    cin &gt;&gt; name_inputfile;\r\n    <strong>ifstream ist {name_inputfile}<\/strong>;\r\n    if (!ist) throw ios_base::failure(\"can't open input file \"+name_inputfile);<\/pre>\n<pre class=\"lang:sh decode:true\"><strong>vector&lt;Inputdata&gt; temps<\/strong>; \/\/ structured vector\r\n    int hour;\r\n    double temperature;\r\n\r\n    <strong>\/\/ read structured in<\/strong>\r\n    <strong>while (ist &gt;&gt; hour &gt;&gt; temperature) {<\/strong>\r\n        if (hour &lt; 0 || 23 &lt;hour) throw range_error(\"hour out of range\");\r\n        \/\/ fill vector\r\n        <strong>temps.push_back(Inputdata{hour,temperature});<\/strong>\r\n    }<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>strucktruriert ausgeben<\/strong><\/p>\n<pre class=\"lang:sh decode:true \">\/\/ set brackets for clearer structure\r\n    for (int i=0; i&lt;input.size(); ++i)\r\n        ost &lt;&lt; '(' &lt;&lt; input[i].hour &lt;&lt; ','\r\n            &lt;&lt; input[i].temperature &lt;&lt; \")\\n\";<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8211; alle Daten werden zu chars &#8211; In: bedeutet von aussen zur CPU. &#8211; out: bedeutet von OS nach aussen &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- istream char Daten werden \u00fcbergeben ostream sendet chars an eine Ort (file, konsole, speicher, ..) ifstream\u00a0 [Daten in File ablegen] &#8211; Datei als String mitgeben ifstream stream_a {&#8222;input.txt&#8220;} &#8211; Inhalt wortweise in String ablegen &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/c-stream\/\" class=\"more-link\"><span class=\"screen-reader-text\">C++: stream<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[29],"tags":[34,32],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/966"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=966"}],"version-history":[{"count":6,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/966\/revisions"}],"predecessor-version":[{"id":1009,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/966\/revisions\/1009"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}