c ++ / sprintf: escape-последовательность нераспознанных символов - PullRequest
0 голосов
/ 17 января 2019

Как избежать этих предупреждений о спринте?

C4129: '#' : unrecognized character escape sequence
C4129: ':' : unrecognized character escape sequence

sprintf(szBuf,"1312:%d\#%s\:",iVal,pUser)

1 Ответ

0 голосов
/ 17 января 2019

Если вы хотите, чтобы литерал \ в ваших строках, вы должны написать его как \\.

Символ \ запускает escape-последовательность, и ни #, ни : не действительны в качестве второго символа. Он предназначен для таких вещей, как перевод строки \n или табуляция \t.

Конечно, если вы не хотите, чтобы в вашей результирующей строке был \, просто удалите его полностью.

...