2016-09-19 6 views
-1

Notwendigkeit Testvariable entfernen Anführungszeichen. Wie man?C++ Zitat von Char-Typ entfernen

char test[] = "\"C:\\hello\""; 

if(test[0] = '"') 
{ 
// test variable 0 index to blank 
} 
+2

Sie können eine 'std :: string' verwenden, die bequeme Elementfunktionen für diese Art von Operation hat. – NathanOliver

+1

Btw, Test ist Array, keine einzige Variable –

+2

'test [0] = '';' – evan

Antwort

1

Da Sie unter Windows sind, rufen Sie die Funktion PathUnquoteSpaces in der Windows-API auf.

PathUnquoteSpaces(test); 
0

Um ein Zeichen in einem Zeichen-Array zu entfernen, müssen Sie den Slot mit dem restlichen Text überschreiben.

Original:

+---+---+---+----+ 
| " | C | : | \0 | 
+---+---+---+----+ 
     | 
    +---+ Copy from original. 
    | 
    V 
+---+---+----+----+ 
| C | : | \0 | \0 | 
+---+---+----+----+ 

Siehe memmove zum Kopieren, wenn Ziele überlappen.

Eine einfachere Lösung ist die Verwendung von std::string für alle Ihre mehrsprachigen Texte und ihre Methoden.

Verwandte Themen