<?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[Probleme mit Strings und deren Konvertierung]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich bin recht neu in c++ und habe davor vor allem mit Java und VB gearbeitet.<br />
Deswegen bin ich bei der Typenkonvertierung sehr verwöhnt.</p>
<p>Bin mir auch nicht sicher, ob ich hier richtig bin, denn ich nutze bei dem Ganzen die Windows API dabei, wenn ich also falsch bin, schon mal ein Entschuldigung im vorraus.</p>
<p>Hab heute mal versucht, die Bilder meiner Digitalkamera mit c++ auszulesen.<br />
Die sehen alle aus wie folgt: Img######.jgp wobei # = Ziffer.</p>
<p>Den kompletten Dateinamen bekomme ich wunderbar raus, allerdings als wstring.<br />
Nun sind für mich aber nur die ###### interessant, aber was ich auch versuche ich bekomme den string nicht klein. Zwar geht substr aber der Compiler mag meine Eingaben nicht.</p>
<pre><code class="language-cpp">std::wstring getNumberOfFiles(string path)
{
    std::wstring CmpFN = findFirstNamedFile(path); //gibt den kompletten Namen der Datei aus
    std::wstring PictureNumber;
    PictureNumber = (CmpFN.substr(CmpFN.find(&quot;0&quot;), CmpFN.find(&quot;.&quot;)));
    return PictureNumber;
}
</code></pre>
<p>Zeile: &quot;PictureNumber = (CmpFN.substr(CmpFN.find(&quot;0&quot;), CmpFN.find(&quot;.&quot;)));&quot; wirft immer wieder Fehler, obwohl ich schon jede mir bekannte Typenkonverierung versucht habe.</p>
<p>Wie ich schon sagte, bin noch noob, also bitte nicht nur ne Lösung, ich will wissen warum das so ist</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303324/probleme-mit-strings-und-deren-konvertierung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 13:51:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303324.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 May 2012 20:57:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Thu, 10 May 2012 20:57:46 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich bin recht neu in c++ und habe davor vor allem mit Java und VB gearbeitet.<br />
Deswegen bin ich bei der Typenkonvertierung sehr verwöhnt.</p>
<p>Bin mir auch nicht sicher, ob ich hier richtig bin, denn ich nutze bei dem Ganzen die Windows API dabei, wenn ich also falsch bin, schon mal ein Entschuldigung im vorraus.</p>
<p>Hab heute mal versucht, die Bilder meiner Digitalkamera mit c++ auszulesen.<br />
Die sehen alle aus wie folgt: Img######.jgp wobei # = Ziffer.</p>
<p>Den kompletten Dateinamen bekomme ich wunderbar raus, allerdings als wstring.<br />
Nun sind für mich aber nur die ###### interessant, aber was ich auch versuche ich bekomme den string nicht klein. Zwar geht substr aber der Compiler mag meine Eingaben nicht.</p>
<pre><code class="language-cpp">std::wstring getNumberOfFiles(string path)
{
    std::wstring CmpFN = findFirstNamedFile(path); //gibt den kompletten Namen der Datei aus
    std::wstring PictureNumber;
    PictureNumber = (CmpFN.substr(CmpFN.find(&quot;0&quot;), CmpFN.find(&quot;.&quot;)));
    return PictureNumber;
}
</code></pre>
<p>Zeile: &quot;PictureNumber = (CmpFN.substr(CmpFN.find(&quot;0&quot;), CmpFN.find(&quot;.&quot;)));&quot; wirft immer wieder Fehler, obwohl ich schon jede mir bekannte Typenkonverierung versucht habe.</p>
<p>Wie ich schon sagte, bin noch noob, also bitte nicht nur ne Lösung, ich will wissen warum das so ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210337</guid><dc:creator><![CDATA[Lylantiel]]></dc:creator><pubDate>Thu, 10 May 2012 20:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Thu, 10 May 2012 21:14:12 GMT]]></title><description><![CDATA[<p>Der zweite Parameter von<a href="http://www.cplusplus.com/reference/string/string/substr/" rel="nofollow"> <code>substr</code> </a>ist eine Anzahl, keine Position.</p>
<p>Da können Dateien sein, die gar keine &quot;0&quot; im Namen haben. Dann wirft <code>substr</code> ein <code>out_of_range</code> .</p>
<p>Funktionen zum Auflisten von Dateien in einem Ordner liefern normalerweise die Pseudodateien &quot;.&quot; und &quot;..&quot;. Daran wird es liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210344</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Thu, 10 May 2012 21:14:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Thu, 10 May 2012 21:12:04 GMT]]></title><description><![CDATA[<p>Eine Möglichkeit wäre zum Beispiel diese:</p>
<pre><code class="language-cpp">unsigned getNumberOfFiles(string path)
{
    std::wstring CmpFN = findFirstNamedFile(path); //gibt den kompletten Namen der Datei aus
	std::wistringstream is(CmpFN);
	unsigned PictureNumber;

	while( !(is&gt;&gt;PictureNumber).eof() )
	{
		if( !is )
		{
			is.clear();
			is.ignore(1);
		}
	}
    return PictureNumber;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2210346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210346</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 10 May 2012 21:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Thu, 10 May 2012 21:24:51 GMT]]></title><description><![CDATA[<p>Dankeschön erstmal.</p>
<p>TyroXx : Jo, war Blödsinn beim substr is schon etwas spät.<br />
die &quot;Pseudodaten&quot; filter ich raus, ebenso wie Unterverzeichnisse.</p>
<p>@Gugelmoser: ich werds mal versuchen, aber wahrscheinlich komm ich dann wieder net mit unsigned klar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210353</guid><dc:creator><![CDATA[Lylantiel]]></dc:creator><pubDate>Thu, 10 May 2012 21:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Thu, 10 May 2012 21:30:37 GMT]]></title><description><![CDATA[<p>Obwohl das natürlich noch viel besser ist, da es ja in Wirklichkeit keine Zahl zum Rechnen ist:</p>
<pre><code class="language-cpp">std::wstring getNumberOfFiles(string path)
{
    std::wstring CmpFN = findFirstNamedFile(path); //gibt den kompletten Namen der Datei aus
	unsigned begin_number = CmpFN.find_first_of(L&quot;1234567890&quot;);
	std::wstring PictureNumber = CmpFN.substr( begin_number, CmpFN.find('.') - begin_number );
	return PictureNumber;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2210355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210355</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 10 May 2012 21:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Strings und deren Konvertierung on Fri, 11 May 2012 08:34:55 GMT]]></title><description><![CDATA[<p>Noch einmal danke.<br />
Das funktioniert wunderbar.</p>
<p>Jetzt möchte ich nur noch genau wissen, was denn mein Fehler war.</p>
<p>Also bei meinem Code kam immer die Fehlermeldung:<br />
cannot convert from 'const char [2]' to 'const std::basic_string</p>
<p>liegt das nun wirklich nur an den vermischten Unicode- und Ansi- Glyphen?</p>
<p>Also Problem ist auf jeden Fall gelöst.</p>
<p>edit: OK, hab es rausgefunden, nun läuft meine Version auch ohne Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210419</guid><dc:creator><![CDATA[Lylantiel]]></dc:creator><pubDate>Fri, 11 May 2012 08:34:55 GMT</pubDate></item></channel></rss>