<?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[Sonderzeichen Codierung mit fstream, stingstream und string]]></title><description><![CDATA[<p>Abend...</p>
<p>Ich habe folgendes Problem:</p>
<p>Ich lese aus einer UTF-8 txt-Datei einen stringstream aus, den ich dann als c_str einem string übergebe und dann eine Ersetzung und Analyse machen will. Es geht um Mono-, Bi- und Tri-Gramme.</p>
<p>Ich will alle Zeichen bis auf 'a' bis 'z' und 'ä','ö','ü' und 'ß' ersetzen.<br />
Das Problem ist nur, wenn ich nur &quot;isalpha()&quot; benutze funktioniert das auch, sobald ich aber zusätzlich nach den 4 Sonderzeichen frage, bekomme ich alle im Text enthaltenen Sonderzeichen.</p>
<pre><code>string input();
	string filename = &quot;blubb.txt&quot;;

	stringstream ss;
	ss&lt;&lt;ifstream(filename.c_str()).rdbuf();
	input=ss.str();

	unsigned int i = 0;
	while(input[i]){
		input[i] = tolower(input[i]);
		if(!(isalpha(input[i]))){
			input[i] = ' ';
		}
		++i;
	}
</code></pre>
<p>Die Abfrage nach den Sonderzeichen habe ich bewusst weggelassen, da ich über verschiedene Schreibweisen gestolpert bin (zB hex). Und mir nun garnicht mehr sicher bin.</p>
<p>und zum guten Schluss noch einpaar angaben:<br />
OS: OS X.5<br />
IDE: eclipse c++ mit g++<br />
file encoding: UTF-8<br />
terminal: UTF-8<br />
compiler encoding: UTF-8</p>
<p>//encodings kann ich auch gerne umstellen....</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216806/sonderzeichen-codierung-mit-fstream-stingstream-und-string</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 05:04:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216806.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Jun 2008 17:20:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sonderzeichen Codierung mit fstream, stingstream und string on Sat, 28 Jun 2008 17:20:57 GMT]]></title><description><![CDATA[<p>Abend...</p>
<p>Ich habe folgendes Problem:</p>
<p>Ich lese aus einer UTF-8 txt-Datei einen stringstream aus, den ich dann als c_str einem string übergebe und dann eine Ersetzung und Analyse machen will. Es geht um Mono-, Bi- und Tri-Gramme.</p>
<p>Ich will alle Zeichen bis auf 'a' bis 'z' und 'ä','ö','ü' und 'ß' ersetzen.<br />
Das Problem ist nur, wenn ich nur &quot;isalpha()&quot; benutze funktioniert das auch, sobald ich aber zusätzlich nach den 4 Sonderzeichen frage, bekomme ich alle im Text enthaltenen Sonderzeichen.</p>
<pre><code>string input();
	string filename = &quot;blubb.txt&quot;;

	stringstream ss;
	ss&lt;&lt;ifstream(filename.c_str()).rdbuf();
	input=ss.str();

	unsigned int i = 0;
	while(input[i]){
		input[i] = tolower(input[i]);
		if(!(isalpha(input[i]))){
			input[i] = ' ';
		}
		++i;
	}
</code></pre>
<p>Die Abfrage nach den Sonderzeichen habe ich bewusst weggelassen, da ich über verschiedene Schreibweisen gestolpert bin (zB hex). Und mir nun garnicht mehr sicher bin.</p>
<p>und zum guten Schluss noch einpaar angaben:<br />
OS: OS X.5<br />
IDE: eclipse c++ mit g++<br />
file encoding: UTF-8<br />
terminal: UTF-8<br />
compiler encoding: UTF-8</p>
<p>//encodings kann ich auch gerne umstellen....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537598</guid><dc:creator><![CDATA[princess]]></dc:creator><pubDate>Sat, 28 Jun 2008 17:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to Sonderzeichen Codierung mit fstream, stingstream und string on Sat, 28 Jun 2008 17:26:17 GMT]]></title><description><![CDATA[<p>std::string funktioniert nicht richtig mit UTF-8 der [] Operator kann dir da nicht immer das richtige Zeichen geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537603</guid><dc:creator><![CDATA[SchwimmFisch]]></dc:creator><pubDate>Sat, 28 Jun 2008 17:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to Sonderzeichen Codierung mit fstream, stingstream und string on Sat, 28 Jun 2008 18:04:09 GMT]]></title><description><![CDATA[<p>Du könntest den Text mit irgendeiner Bibliothek nach UTF-32 konvertieren und in eine Normalform bringen (am Besten NFKC). Dann kannst du die Zeichen einzeln durchgehen und entsprechend mit den Unicode-Zeichen für ö, ü, ... vergleichen.</p>
<p>Lesenswertes: <a href="http://magazin.c-plusplus.net/artikel/Einf%FChrung%20in%20Codepages%20und%20Unicode" rel="nofollow">Forum-Artikel: Einführung in Codepages und Unicode</a>, <a href="http://en.wikipedia.org/wiki/Unicode" rel="nofollow">wiki Unicode</a>, <a href="http://en.wikipedia.org/wiki/Unicode_normalization" rel="nofollow">wiki Unicode Normalization</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537623</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 28 Jun 2008 18:04:09 GMT</pubDate></item><item><title><![CDATA[Reply to Sonderzeichen Codierung mit fstream, stingstream und string on Sat, 28 Jun 2008 18:05:43 GMT]]></title><description><![CDATA[<p>vielen dank!! aber heut passiert bei mir nix mehr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1537624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1537624</guid><dc:creator><![CDATA[princess]]></dc:creator><pubDate>Sat, 28 Jun 2008 18:05:43 GMT</pubDate></item></channel></rss>