我的程序正在读取文本文件并将两个相邻的字符(首先是反斜杠,第二个是任意字符)转换为单个转义字符
char foo(char a, char b){
... // <---how to write this part?
}
expectd: foo('\\','n')->'\n'
我可以像这样编写Python3中的等效代码:
tmp = bytearray([ord('\\'), ord(Char)])
Char == tmp.decode('utf-8') # utf-8 is just python default codec, not related to the question
答案 0 :(得分:2)
从ios :: noreplace
,"
,'
,?
,\
,a
列表中搜索匹配的可接受转义字符, b
,t
,n
,v
,f
r
我认为OP需要一个不同的功能来处理所有转义序列,其中许多转义序列比char ab_to_escape(char a, char b) {
if (a == `\\`) {
static const char *escapev = "\"\'\?\\abtnvfr";
static const char *escapec = "\"\'\?\\\a\b\t\n\v\f\r";
char *p = strchr(escapev, b);
if (p == NULL || *p == '\0') {
return b; // TBD this condition, invalid escape character found.
// Perhaps it begins an octal (0-7) or hexadecimal (x or X) escape sequence?
// \0 or \x42 etc.
}
return escapec[p - escapev];
}
return a;// TBD this condition
}
之后的一个字符长。
\\