<?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[alte Konvention bei char* und char[]]]></title><description><![CDATA[<p>Hallo.<br />
Ich verstehe meinen Fehler nicht und google hilft mir nicht weiter. Unter euch ist bestimmt jemand der den Kopf schüttelt wenn er das ließt und mir promt eine Antwort darauf geben kann: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Ich habe (hier das Wesentliche dargestellt) folgendes in meiner cpp Datei stehen (Fedora Eclipse Platform 3.4.1):</p>
<pre><code class="language-cpp">//...
char SERIAL_PORT_DEVICE [] = &quot;/dev/ttyUSB0&quot; ;
//...
char dateiname [] = &quot;fw_file.bin&quot;;
//...
//...
//...

int main(int argc, char* argv[]) {
	int retval = 1;
	unsigned long long timer = 0;

        if (argc &lt; 2) {
		std::cerr &lt;&lt; &quot;No file selected!\n&quot; &lt;&lt; std::endl;
		std::cerr &lt;&lt; &quot;INFO:  Usage: &quot; &lt;&lt; argv[0] &lt;&lt; &quot; &lt;filename&gt;&quot; &lt;&lt; std::endl;
		std::cerr &lt;&lt; &quot;-----\n\n&quot;;
		return 1;
	}

	if (argv[1] )
	dateiname = argv[1]; //hier Fehler!!!

	if (argc == 3) {
		SERIAL_PORT_DEVICE = argv[2]; //hier Fehler!!!
		cout &lt;&lt; &quot;Using Port: &quot; &lt;&lt; SERIAL_PORT_DEVICE &lt;&lt; std::endl;
	} else {
		std::cout &lt;&lt; &quot;Using standard port: &quot; &lt;&lt; SERIAL_PORT_DEVICE &lt;&lt; std::endl;
	}
	std::cout &lt;&lt; &quot;command: &quot;;
	for (int i = 0; i &lt; argc; i++) {
		cout &lt;&lt; argv[i] &lt;&lt; &quot; &quot;;
	}
	cout &lt;&lt; endl;
	cout &lt;&lt; endl;
	programm_datei.open(dateiname, ios::in | ios::binary);

	if (programm_datei) {

        //...

        } else {
		cerr &lt;&lt; &quot;File or Directory &quot; &lt;&lt; dateiname &lt;&lt; &quot; not exists!&quot;  &lt;&lt; endl;
		retval = -1;
	}
	return retval;
}
</code></pre>
<p>Der Compiler g++ (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) meldet foglende Fehler:</p>
<p>In function »int main(int, char**)«:<br />
458: Fehler: unverträgliche Typen in Zuweisung von »char*« an »char [8]«<br />
461: Fehler: unverträgliche Typen in Zuweisung von »char*« an »char [13]«</p>
<p>Was er mir sagen will kann ich mir so in etwa vorstellen, nur beheben kann ich es nicht. Für Hilfe bin ich dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239810/alte-konvention-bei-char-und-char</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 09:49:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239810.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Apr 2009 10:45:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to alte Konvention bei char* und char[] on Tue, 28 Apr 2009 10:45:11 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich verstehe meinen Fehler nicht und google hilft mir nicht weiter. Unter euch ist bestimmt jemand der den Kopf schüttelt wenn er das ließt und mir promt eine Antwort darauf geben kann: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Ich habe (hier das Wesentliche dargestellt) folgendes in meiner cpp Datei stehen (Fedora Eclipse Platform 3.4.1):</p>
<pre><code class="language-cpp">//...
char SERIAL_PORT_DEVICE [] = &quot;/dev/ttyUSB0&quot; ;
//...
char dateiname [] = &quot;fw_file.bin&quot;;
//...
//...
//...

int main(int argc, char* argv[]) {
	int retval = 1;
	unsigned long long timer = 0;

        if (argc &lt; 2) {
		std::cerr &lt;&lt; &quot;No file selected!\n&quot; &lt;&lt; std::endl;
		std::cerr &lt;&lt; &quot;INFO:  Usage: &quot; &lt;&lt; argv[0] &lt;&lt; &quot; &lt;filename&gt;&quot; &lt;&lt; std::endl;
		std::cerr &lt;&lt; &quot;-----\n\n&quot;;
		return 1;
	}

	if (argv[1] )
	dateiname = argv[1]; //hier Fehler!!!

	if (argc == 3) {
		SERIAL_PORT_DEVICE = argv[2]; //hier Fehler!!!
		cout &lt;&lt; &quot;Using Port: &quot; &lt;&lt; SERIAL_PORT_DEVICE &lt;&lt; std::endl;
	} else {
		std::cout &lt;&lt; &quot;Using standard port: &quot; &lt;&lt; SERIAL_PORT_DEVICE &lt;&lt; std::endl;
	}
	std::cout &lt;&lt; &quot;command: &quot;;
	for (int i = 0; i &lt; argc; i++) {
		cout &lt;&lt; argv[i] &lt;&lt; &quot; &quot;;
	}
	cout &lt;&lt; endl;
	cout &lt;&lt; endl;
	programm_datei.open(dateiname, ios::in | ios::binary);

	if (programm_datei) {

        //...

        } else {
		cerr &lt;&lt; &quot;File or Directory &quot; &lt;&lt; dateiname &lt;&lt; &quot; not exists!&quot;  &lt;&lt; endl;
		retval = -1;
	}
	return retval;
}
</code></pre>
<p>Der Compiler g++ (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) meldet foglende Fehler:</p>
<p>In function »int main(int, char**)«:<br />
458: Fehler: unverträgliche Typen in Zuweisung von »char*« an »char [8]«<br />
461: Fehler: unverträgliche Typen in Zuweisung von »char*« an »char [13]«</p>
<p>Was er mir sagen will kann ich mir so in etwa vorstellen, nur beheben kann ich es nicht. Für Hilfe bin ich dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702544</guid><dc:creator><![CDATA[möp0815]]></dc:creator><pubDate>Tue, 28 Apr 2009 10:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to alte Konvention bei char* und char[] on Tue, 28 Apr 2009 10:58:03 GMT]]></title><description><![CDATA[<p>Arrays kann man nicht einander zuweisen. Entweder strcpy() nutzen (C-String kopieren) oder std::string, den kann man mit op= zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702556</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 28 Apr 2009 10:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to alte Konvention bei char* und char[] on Tue, 28 Apr 2009 10:58:13 GMT]]></title><description><![CDATA[<p>Man kann keine C Arrays gegenseitig zuweisen, dies ist nicht erlaubt. Daher wird <code>argv[x]</code> implizit in einen Zeiger verwandelt und das ist der Fehler, den du dann siehst, da man auch keinen Zeiger an ein char Array zuweisen kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Definiere den Typ von <code>SERIAL_PORT_DEVICE</code> und <code>dateiname</code> entweder um zu <code>char const*</code> oder <code>std::string</code> .<br />
<a href="http://www.cplusplus.com/reference/string/" rel="nofollow">http://www.cplusplus.com/reference/string/</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702557</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 28 Apr 2009 10:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to alte Konvention bei char* und char[] on Tue, 28 Apr 2009 11:11:44 GMT]]></title><description><![CDATA[<p>Ich danke euch.<br />
Meine C++ Kenntnisse sind schon ein paar Tage älter und ich tue mich gerade schwer da wieder rein zu kommen.<br />
Kann mir jemand verraten, wo ich Informationen (qualitativ etwas handfester als nur bei google irgendwas eingetippt) über den neuen Compiler bekomme? Da hat sich ja doch einiges getan (mehr C als C++ oder so). Dieser Fehler ist nämlich dabei entstanden ein altes Programm einem neuen Compiler zum Fraß vorzuwerfen.</p>
<p>Danke noch einmal! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702564</guid><dc:creator><![CDATA[möp0815]]></dc:creator><pubDate>Tue, 28 Apr 2009 11:11:44 GMT</pubDate></item></channel></rss>