Двойная косая черта // в путях — могу ли я использовать одну косую черту?

У меня есть шаблон VS с чем-то вроде

string mypath = "C:\\custom\\file.jpg";

Я хотел бы сделать C: \ custom \ part с параметром подстановки шаблона $ userpath $. Есть ли способ избежать двойной косой черты?

Я хотел бы написать следующее:

string mypath = SOMETHING("C:\custom\file.jpg")

это не может быть экранировано с \ c и \ f и не формирует правильный путь. Является ли это возможным?

4

Решение

Для путей вы должны быть в состоянии использовать один вперед косая черта в качестве разделителя:

std::string mypath = "c:/custom/file.jpg";
6

Другие решения

Попробуйте необработанный строковый литерал:

string mypath = R"(C:\custom\file.jpg)";
3

Попробуйте привыкнуть к символу двойной обратной косой черты, потому что в c ++ это понимают все парсер и компилятор. и если ваш шаблон VS \\ doublebackslash производят \ одиночный обратный слеш, используйте 4 обратный слеш \\\\ производить \\ двойной обратный слэш правильно.

1
По вопросам рекламы [email protected]