mit \ in einem string als literal statt einer Flucht

bool stringMatch(const char *expr, const char *str) {   
    //do something to compare *(expr+i) == '\\'  
    //In this case it is comparing against a backslash
    //i is some integer
}

int main() {
    string a = "a\sb";
    string b = "a b";
    cout << stringMatch(a.c_str(), b.c_str()) << endl;
    return 1;
}

So, das problem jetzt ist: Xcode ist nicht das Lesen in der '\', wenn ich das debugging in stringMatch Funktion expr wird nur angezeigt, 'asb' anstelle der Literale a\sb'.

Xcode ist spuckt eine Warnung in der Zeile:
string a = "a\sb" : Unbekannte escape-Sequenz

Edit: ich habe bereits versucht mit "a\sb", es liest sich als "a\sb" als literal.

en.cppreference.com/w/cpp/language/escape. Ihre andere option ist ein raw-string-Literale, aber es sei denn, Sie schreiben eine regex oder so etwas, es ist ein bisschen overkill.
"a\sb" sollte funktionieren. posten Sie bitte details über das problem, das Sie mit ihm gesehen.

InformationsquelleAutor monkeyMoo | 2012-08-24

Schreibe einen Kommentar