2013-11-21 5 views
0

Это может быть глупый вопрос, но как сделать строку с помощью wsprintf, которая содержит«? Мне нужно написать пакетный скрипт, содержащий путь к файлу.Как построить строку, содержащую «

так что мне нужно, чтобы быть в состоянии сделать, как

wsprintfW(wszBuffer, ""%sfile.bat"", wszTempPath) 

как я могу избежать этого?

+7

'' \ "" '(filler) – BoBTFish

+0

Cheers. Я пытался сделать это так: wsprintfW (wszTempPath, L "\"% sFile.bat \ "", wszTempPath); и получал «для всех символов». Создано в новый буфер и было нормально. – SnakeByte

ответ

5

Вы можете избежать символов с помощью обратной косой черты:

"\"%sfile.bat\"" 

или, начиная с C++ 11, используйте сырые струны литералов:

R"("%sfile.bat")" 
+1

вы можете изменить «с 2011 года» на «с C++ 11», потому что компиляторы не проверяют дату при разборе строк? – risingDarkness

+0

@risingDarkness: Это довольно умышленное непонимание того, что я написал, но я внес изменения в случае, если кто-то еще разделяет ваш уровень педантизма. –

+1

@MikeSeymour: Мы программисты. Мы педантичны по своей природе. –

0

Используйте обратную косую черту, чтобы избежать кавычек в кавычках.

wsprintfW(wszBuffer, "\"%sfile.bat\"", wszTempPath) 
0

Вам нужно бежать характер, как это : "\"hello\""

Смежные вопросы