我有了它這個特定字符串的二進制文件:^@^Aname^@Team Fortress 2
搜索字符串,其中包含轉義字符
這是我嘗試使用memmem
找到它:
char *game = "Team Fortress 2";
sprintf(searchString,"\1\1name\1%s\0",game);
...
if(pos = memmem(buffer,result,searchString,strlen(searchString)))
我如何搭配轉義字符^@
和^A
? 它似乎找到\1\1name
,但在searchString
中找不到game
。
怎麼能''\ 1「'代表'」^ @「'和'」^ A「'? –
Control- @是C中的空字節,''\ 0''(因爲'@'在ISO 8859-1和Unicode等中的'A'之前)。 '^ A'通常用來表示Control-A,字節值''\ 1''或''\ 001''。包含^ @的文件通常被認爲是二進制文件。 –