<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Zweidimensionale char Arrays]]></title><description><![CDATA[<p>Hi leute ich will eine *.txt datei auslesen und jede zeile speichern!<br />
dafür möchte ich einen zweidimensionalen char Array verwenden. Geht das eig?<br />
ich habs mal folgendermaßen versucht:</p>
<pre><code>char zeile[5][20];

einlesen(){
	fstream datei(Name, ios_base::in);
	datei.seekg(0L, ios::beg);
	int i = 0;
	while(datei.eof()){
		datei.getline(zeile[i][20], 20);
		i++;
	}
</code></pre>
<p>der bringt mir folgenden fehler:<br />
error C2664: 'std::basic_istream&lt;_Elem,_Traits&gt; &amp;std::basic_istream&lt;_Elem,_Traits&gt;::getline(_Elem *,std::streamsize)': Konvertierung des Parameters 1 von 'char' in 'char *' nicht möglich<br />
with<br />
[<br />
_Elem=char,<br />
_Traits=std::char_traits&lt;char&gt;<br />
]<br />
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat</p>
<p>Was will der mir damit sagen bzw welche lösungen gibt es?<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187641/zweidimensionale-char-arrays</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 20:24:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187641.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Jul 2007 12:58:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 12:58:04 GMT]]></title><description><![CDATA[<p>Hi leute ich will eine *.txt datei auslesen und jede zeile speichern!<br />
dafür möchte ich einen zweidimensionalen char Array verwenden. Geht das eig?<br />
ich habs mal folgendermaßen versucht:</p>
<pre><code>char zeile[5][20];

einlesen(){
	fstream datei(Name, ios_base::in);
	datei.seekg(0L, ios::beg);
	int i = 0;
	while(datei.eof()){
		datei.getline(zeile[i][20], 20);
		i++;
	}
</code></pre>
<p>der bringt mir folgenden fehler:<br />
error C2664: 'std::basic_istream&lt;_Elem,_Traits&gt; &amp;std::basic_istream&lt;_Elem,_Traits&gt;::getline(_Elem *,std::streamsize)': Konvertierung des Parameters 1 von 'char' in 'char *' nicht möglich<br />
with<br />
[<br />
_Elem=char,<br />
_Traits=std::char_traits&lt;char&gt;<br />
]<br />
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat</p>
<p>Was will der mir damit sagen bzw welche lösungen gibt es?<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330210</guid><dc:creator><![CDATA[a293]]></dc:creator><pubDate>Sun, 22 Jul 2007 12:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 13:19:57 GMT]]></title><description><![CDATA[<p>Natürlich geht es.</p>
<p>Aber ich denke der Einsatz von std::vector und std::string wär wesentlich praktischer und sicherer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330213</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sun, 22 Jul 2007 13:19:57 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 13:23:18 GMT]]></title><description><![CDATA[<p>getline erwartet als ersten Parameter einen char*. Du übergibst aber ein char. Probier mal nur zeile[i] statt zeile[i][20]. Das sollte dann funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330215</guid><dc:creator><![CDATA[Helfer]]></dc:creator><pubDate>Sun, 22 Jul 2007 13:23:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 13:24:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich stimme Kenny zu.</p>
<p>Das eigentliche Problem hier ist das du getline mit der ganzen Arrayangabe nur ein char übergibst. Du willst aber ja eine ganze Zeile lesen!</p>
<pre><code class="language-cpp">datei.getline(zeile[i], 20);
</code></pre>
<p>Und :<br />
- keine globalen Variablen benutzen wenn nicht unbedingt nötig<br />
- Funktionen brauchen einen Rückgabewert, und sei es nur void<br />
- Auch Name sollte ein Parameter der Funktion sein</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330217</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 22 Jul 2007 13:24:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 13:38:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void read_content(const char* file_name)
{
    std::ifstream file_stream(file_name, std::ios::in);
    char lines[5][20];
    for (std::size_t i = 0; file_stream.eof() == false &amp;&amp; file_stream.fail() == false &amp;&amp; i &lt; 5; ++i)
        std::getline(file_stream, lines[i], 20);

    // so schreibst du auch nciht über die Grenzen deines Arrays hinaus ... 
    // falls mal 6 Zeilen in der Datei sind ... sonnst stürzt dir dein Programm 
    // direkt ab ;)
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1330230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330230</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 22 Jul 2007 13:38:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Sun, 22 Jul 2007 17:29:45 GMT]]></title><description><![CDATA[<p>ja ok danke es funktioniert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330328</guid><dc:creator><![CDATA[a293]]></dc:creator><pubDate>Sun, 22 Jul 2007 17:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Mon, 23 Jul 2007 19:12:59 GMT]]></title><description><![CDATA[<p>hi leute<br />
ich möchte dieser funktion:</p>
<pre><code>int Datum_Datei_Message::Datum_kopieren (char Dateiname[50]){
	ifstream datei(Dateiname, ios_base::in);
	datei.seekg(0L, ios::beg);
	datei.getline(Tag, 4);
	datei.getline(Monat, 4);
	datei.getline(Jahr, 5);
	datei.getline(Message, 201);
	return 0;
}
</code></pre>
<p>denn oben angesprochenen 2d char array übergeben!<br />
nur wie geht das? ich habs schon mal versucht das hat dann so ausgesehn</p>
<pre><code>klasse.Datum_kopieren(zeile [0]);
</code></pre>
<p>für [0] würd ich jedoch eine variable einsetzen spielt aber normal keine rolle.<br />
Dann bringt mir aber ms visual studio<br />
error C2065: 'zeile': nichtdeklarierter Bezeichner<br />
was mach ich da falsch?<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331096</guid><dc:creator><![CDATA[a293]]></dc:creator><pubDate>Mon, 23 Jul 2007 19:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Mon, 23 Jul 2007 19:18:31 GMT]]></title><description><![CDATA[<p>Zeig mal komplette Klasse ... da scheint einiges falsch zu sein ... direkt zu deinem Problem: mach aus zeile eine membervariable ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331098</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 19:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zweidimensionale char Arrays on Tue, 24 Jul 2007 11:47:38 GMT]]></title><description><![CDATA[<pre><code>class Datum_Datei_Message{
	private:
		char Termin[200][55];							
		int Anzahl_Termine;							

	public:	
		int Anzahl_einlesen();							
		int Datum_kopieren (char Dateiname[50]);			
};

//Die beiden Funktionen
int Datum_Datei_Message::Datum_kopieren (char Dateiname[50]){
	ifstream datei(Dateiname, ios_base::in);
	datei.seekg(0L, ios::beg);
	datei.getline(Tag, 4);
	datei.getline(Monat, 4);
	datei.getline(Jahr, 5);
	datei.getline(Message, 201);
	return 0;
}

int Datum_Datei_Message::Anzahl_einlesen(){
	fstream datei(&quot;Termine.txt&quot;, ios_base::in);
	datei.seekg(0L, ios::beg);
	while(!(datei.eof())){
		datei.getline(Termin[Anzahl_Termine], 55); 
		Anzahl_Termine++;
	}
	cout &lt;&lt; &quot;\n&quot; &lt;&lt; Anzahl_Termine ;
	return 0;
}
</code></pre>
<p>ok das ist jetzt meine klasse sehr gekürzt weil ich ja noch andere funktionen und variablen hab<br />
wenn ich das richtig verstanden habe sind member variablen variablen die in der klasse enthalten sind das hab ich aber schon gemacht<br />
trotzdem danke<br />
warum kann ich jetzt Datum_kopieren() nicht Termin[i] übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331227</guid><dc:creator><![CDATA[a293]]></dc:creator><pubDate>Tue, 24 Jul 2007 11:47:38 GMT</pubDate></item></channel></rss>