# C++ Sonderzeichen(\r\n\t) aus Strings entfernen



## HerrMann (6. Februar 2005)

Hallo an alle,

wie kann ich diese Sonderzeichen (\r\n\t) aus einem String entfernen

Ich lese mit Linux Daten aus einer Windows-INI Datei aus und diese haben eben das \n\r am Ende jeder Zeile (aber eben auch nich immer).

kann mir jemand weiterhelfen

Danke


----------



## uhu01 (6. Februar 2005)

Hy!

Wenn du in C++ mit einer Stringklasse arbeitest, müsste das mit 
	
	
	



```
string strMyString;
strMyString.Remove( "\r");
```
funktionieren, die anderen Steuerzeichen auch entsprechend.

Wenn du mit einem Char-Vektor arbeitest könntest du einen zweiten Vektor anlegen und dann Zeichen für Zeichen von einem String in den anderen kopieren.

```
char szString1[50], szString2[50];
int i, j;

for( i = 0, j = 0; i < 50 && j < 50 && szString[i] != 0; i++, j++) {
  if( szString[j] == "\r" || szString[j] == "\n") {
    i--;
    continue;
  }
  szString[i] = szString[j];
}
```

habs jetzt nur so runtergetippt, sollte aber vom Prinzip funktionieren

mfg
uhu01


----------



## HerrMann (6. Februar 2005)

Danke für die schnelle Antwort

mit remove() ging das irgendwie nich keine Ahnung warum 
er sacht immer beim compilieren remove is nich deklariert 

#include <string>  war eingebunden 

ich habs anders gelöst

     int lr = line.find("\r",1);
     if (lr != -1) line.erase(lr,2);  

is zwar nich das wahre aber es funktioniert


----------



## Kachelator (7. Februar 2005)

```
mit remove() ging das irgendwie nich keine Ahnung warum
er sacht immer beim compilieren remove is nich deklariert
```

Es liegt daran, dass string bzw. std::string keine remove()- oder Remove()- Methode besitzt. Informationen zu den Methoden von std::string findet man in der MSDN unter "basic_string", von dem std::string ein spezialisiertes Typedef ist, falls man das so sagen kann.


----------



## JPakusch (22. Juni 2005)

Was ist die MSDN?


----------



## Tobias K. (22. Juni 2005)

moin


Die MSDN ist eine Sammlung/Referenz in der alles steht was du speziell mit Windows Compilern machen kannst. Fast alles lässt sich aber auch auf andere Compiler übertragen, das standart C/C++ Zeugs aufjedenfall.

http://msdn.microsoft.com


mfg
umbrasaxum


----------

