CString查找
CString str = _T("C:\Users\Administrator\Desktop\手持上传数据_20130111144101_036936929269.zip");
int find = str.ReverseFind(_T('\'));
我想查找str字符串中的最后一个\的位置,使用CString类的ReverseFind函数。
但是参数设置为_T('\'),编译器就会把\当成转义字符,或者字符串连接符?反正是编译错误:
error C2001: newline in constant
fatal error C1057: unexpected end of file in macro expansion
如果ReverseFind的参数设置为_T('\\'),则ReverseFind返回-1,应该是没找到的意思。
我想设置成_T("\\"),但是ReverseFind好像只支持查找字符,不支持查找字符串,还是编译错误。
问题应该挺简单,请大家帮忙。应该怎么搞?谢谢。-_-
[解决办法]
这个肯定是不需要的。不是代码直接写的字符串信息,不需要做这样的处理,只有你在代码中手工写的字符串,需要如此处理,因为转义符是编译态是需要指定的。
[解决办法]
如果单斜杠是你debug时看到的字符串信息,应该是正确的。至于查找失败,也许是其它原因。楼主还需要仔细找找,这可能和其它你未表达出来的信息有关。
[解决办法]
肯定是写成int find = str.ReverseFind(_T('\\'));返回-1,说明没找到,那肯定是字符串有问题...
[解决办法]
那你就不用管了