2011-10-02 144 views
0

我有一个用C++编写的服务器,当接收到一个聊天字符串时,我想删除奇怪的特殊字符,如“Ctrl + Backspace”创建的特殊字符(尽管不是其他符号):> _等)如何删除“Ctrl + Backspace”特殊字符?

我也使用Boost。

编辑:为什么这会得到-1'd?这是一个合法的问题。

+0

整个很多使用这是... – Matthew

+0

请指定会是什么样的奇怪的字符。在我的图形用户界面上,Ctrl + Backspace简单地删除前面的单词...... –

+0

我不明白为什么这是一个糟糕的问题,除非提交者应该知道角色做了什么。但是,有很多应用程序会将字符流从各种各样的地方传入,而这些地方都会被过滤掉,并且需要将其过滤掉。 – octopusgrabbus

回答

1

听起来像isprint可能会有所帮助。它对任何可打印字符返回true,即。不适用于控制字符和空格。有关可打印和不可打印的列表,请看this table

+0

谢谢,这个伎俩。 – Matthew

0

我还没有使用它,这可能不是最好的办法,但你有没有考虑尝试boost正则表达式库(即regex_replace)?