帮忙看看模板类到底哪里出错了

qq459673705 2010-11-10 09:13:56
#include <string>
#include <iostream>

using namespace std;
template<typename T>
void rtrim(basic_string<T>& s,T c)
{
if(s.empty())
return;

typename basic_string<T>::iterator p;
for(p=s.end();p!=s.begin()&&*--p==c;);
if(*p!=c)
p++;
s.erase(p,s.end());
}
int main()
{
string s="Great!!!!!";
wstring ws=L"super!!!!";

rtrim(s,'!');
rtrim(ws,L"!");

cout<<s<<'\n';
wcout<<ws<<L'\n';
}
总是提示;

22.cpp:23: error: no matching function for call to ‘rtrim(std::wstring&, const wchar_t [2])’
实在找不到问题所在了,
谢谢!
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq459673705 2010-11-10
  • 打赏
  • 举报
回复
多谢了!1楼发帖早点,就按20,10,10给分吧!再次感谢!
GoonYangXiaofang 2010-11-10
  • 打赏
  • 举报
回复
char
wchar_t
無_1024 2010-11-10
  • 打赏
  • 举报
回复

#include <string>
#include <iostream>

using namespace std;
template<typename T>
void rtrim(basic_string<T>& s,T c)
{
if(s.empty())
return;
typename basic_string<T>::iterator p;
for(p=s.end();p!=s.begin()&&*--p==c;);
if(*p!=c)
p++;
s.erase(p,s.end());
}
int main()
{
string s="Great!!!!!";
wstring ws=L"super!!!!";
rtrim(s,'!');
rtrim(ws,L'!');//单引号就可以了
cout<<s<<'\n';
wcout<<ws<<L'\n';
return 0;
}

老邓 2010-11-10
  • 打赏
  • 举报
回复
#include <string>
#include <iostream>

using namespace std;
template<typename T>
void rtrim(basic_string<T>& s, T c)
{
if (s.empty())
return;

typename basic_string<T>::iterator p;
for (p = s.end(); p != s.begin() && *--p == c;);
if (*p != c)
p++;
s.erase(p, s.end());
}
int main()
{
string s = "Great!!!!!";
wstring ws = L"super!!!!";

rtrim<char>(s, '!');
rtrim<wchar_t>(ws, L'!');

cout << s << '\n';
wcout << ws << L'\n';
}
Jim_King_2000 2010-11-10
  • 打赏
  • 举报
回复
rtrim(ws,L"!");
rtrim(ws,L'!');
用单引号。
5.15 修复UTF8版本文章系统无法整合,乱码的问题 某些模板友情链接可能丢失的问题。 单页文档广告位不能后台设置的问题 APP超限造成的失败率太高,总是报警问题。 产品详细页因为淘宝BUG,经常取不到推广地址问题。 增加图片伪原创,可以伪造本地地址,流量充足的可以使用。 配置中心可直接设置网址中文编码 商品详情前后可以设置伪原创混淆文章,充实到产品详情内。 单类别站左侧排序和信誉范围调整符合配置中心设置 配置中心的SEO设置里,产品页增加部分变量 优化程序产品详情代码,提高核心运行效率 5.14 稳定版 本版本增加了可以直接调用DISCUZ x2论坛和wordpress的功能。并且可以自动兼容对应文章系统的UTF-8或者GBK编码。 后台高级设置里,增加首页页面更新时间设置。可以设置综合首页的更新速度。 后台关键词导航里,增加随机数设置。如果设置不为0,将随机取关键词。 后台配置中心增加蜘蛛禁用,可以选择禁止一些蜘蛛访问。 后台配置中心增加IP禁用,可以选择禁止IP段访问。 修复选择价格范围后翻页丢失的BUG。 5.13 稳定版 本版本增加了可以直接调用DISCUZ论坛和织梦文章的功能。抛弃了原来的调用形式,只需要在配置中心指定文章系统安装目录即可调用。未来还会扩展调用文章系统类型。具体操作请看配置中心里新加的"自动整合文章"功能。 配合该调用系统,增加了一套单类别模板,可以用来调用单类别,或调用单店铺。 后台配置中心-高级设置里,增加了地区过滤字段。 首页综合配置增加了单独的排序设置。 针对单类别模板,首页综合配置内增加了卖家昵称字段,可以在单类别模板里设置调用某个淘宝店铺所有商品。 5.12 稳定版 本版本主要修复一些5.11发现的问题。 模板:在新商城模板基础上,修改图片尺寸,修改首页样式,单独作为两套附加模板发布,以适合不同口味的用户。在模板帖子里可以下载。 后台修改密码的地方会反复刷新的问题解决。 部分用户整合文章时首页文章模块宽度不正常 ONESITE模板的首页店铺模块标题的链接修复。 5.11 稳定版 为了应对360浏览器恶意更改PID,增加备用跳转页面,专门屏蔽了360浏览器。需要用的人将"gotourl屏蔽360.php "改名为"gotourl.php",即可屏蔽360浏览器的购买链接,同时提示用户使用IE。 产品列表页没有过滤标题里的单引号 增加robots.txt, 限制了蜘蛛抓取频率。 调整删除缓存的频率,避免过分消耗CPU。 新模板产品列表页偶尔有图片无法显示的BUG处理。 新模板产品列表页偶尔有商家昵称过长无法显示的BUG。 新模板店铺商品页的排序问题。 新模板商品详细页左侧广告位错误问题。 5.10 稳定版 增加官方商城模板 全站商城时,店铺搜索不出的问题改善。 列表页的商品销量改为真实销量 新模板首页类别下面加充值框 增加个性化的综合广告配置,将配置中心的自定义页面改进为自定义模块用于首页对应模块 后台加强安全性,避免COOKIE登陆容易被破解。 使用PID作为APP调用标记。后台不再需要输入淘宝昵称了,只需PID即可。 增加后台恢复密码备用文件,文件名password.php.lock。需要恢复密码,将这个文件改名为password.php,访问即可修改密码。改完后记得改后缀。 5.04 稳定版 改动 店铺查询时店铺级别出错问题。 商品详细页经常会出现JS异常链接问题。 增加一套UTF8模板。 增加升级包。 增加了参数过滤,避免申请APP时经常被淘宝拒绝。 5.03 Bete版 改动 火狐下跳转问题重新改动。 部分服务器不兼容段标签进不了后台问题。 增加一套用来做单页站的模板。 后台修改账号时会丢失模板设置问题。 加强兼容性,不会和根目录下的站外文件起冲突。 5.02 公测版 改动 列表页的购买链接错误修复 火狐下跳转失效修复。 首页在火狐下变形不兼容修复。 分页代码部分模板出错修复。 不开启伪静态时,分页出错修复。 IE6下搜索容易出错的问题修复。 5.0公测版本 此次变动较大,需要公测一段时间,收集一些BUG进行完善。希望大家帮忙多测试下。 V5.0 更新内容: 1、增加两套模板,分别为综合网店型模板和搜索引擎型模板。 2、后台修改设置结构,增加配置中心,可以管理配置文件。 3、增加查询商城商品设置。 4、增加查询店铺 5、搜索框增加店铺搜索和商家昵称搜索 6、修改了伪静态规则文件格式,用户需要重新设置。 7、增加SEO标题设置 8、增加绝对网址开关设置。 9、增加自定义页面,可以在根目录下生成自定义静态页。 10、增加网站地图,sitemap.php页面。 11、增加404错误页面。 V4.2更新内容: 1、后台增加自定义伪静态栏目。如果需要自定义伪静态,请确认网站服务器支持根目录下.htaccess、httpd.ini、nginx.conf 三个规则文件中的任意一个。如果不知道,请找主机商确认。 2、增加了自动301跳转设置,选中的话,将自动把所有绑定的域名跳转到主域名。该功能在后台高级设置里。 3、增加了增加网站LOGO后台配置。该功能在后台高级设置内。 4、修复一个偶尔修改后台能造成配置丢失的情况。 5、优化网站目录结构。 data目录为网站配置文件保存目录。以后备份网站只需要备份data目录。 6、修复店铺页排序的BUG。 7、店铺页增加销量字段显示。 8、登陆后台增加检测配置文件是否只读。 9、修复有时搜索长文字出不了结果的错误。 V4.1更新内容: 1、后台增加屏蔽设置模块,可设置词语屏蔽,类别ID屏蔽和产品ID屏蔽。该屏蔽模块对全站所有API商品有效。 2、修复了几个V4版本bug,包括首页无法根据关键词调用商品,列表页有时出现顶部错误等情况。 【安装方法】 1:下载淘客帝国V4.1.0系统安装包并解压缩 2:上传文件夹中的upload文件中至网站根目录,或子目录 3:登陆后台http://域名/admin/ 并修改配置站点信息 初始账号:admin 密码:admin 4:logo默认路径img/风格/logo.gif 用您自己的LOGO覆盖即可! 【更新内容】 修复后台提示错误的BUG 修复前台IE8自适应高度的BUG 修复前台关键字标签??号的BUG 【版本特色】 各大搜索引擎收录量均会增加(包括百度可以正常收录) 增加热门关键词自定义功能 增加店铺页面shop.php 增加商品介绍页的商品详细参数 增加商品介绍页的相关热销商品 增加商品介绍页的商品详细介绍关键字链接 增加站内搜索,可以自定义屏蔽关键字 优化商品介绍页SEO 【基本功能】 基本参数配置:配置App,PID,站长联系信息,备案信息,统计代码,更改管理员密码等! 友情链接管理:后台即可增添或删除前台友情链接。 设置缓存开关:用户可自己选择开启或关闭缓存功能,以及过期时间,自动删除过期的缓存! 后台配置分类:可自定义导航以及左栏分类,填写分类名称和对应分类ID即可! 批量删除缓存:后台也可以手动批量删除缓存功能,无需在用FTP删除! 前台风格切换:后台模板风格切换,支持四种风格! 后台广告管理:后台可以对网站的广告位进行管理 首页综合配置:配置首页的广告,店铺,商品等! 静态开关功能:后台伪静态功能选择开启或关闭! 商品佣金范围:整站佣金范围和信誉范围自定义! S8跳转功能:当商品已下架,点击"立刻购买",可跳转到S8设置搜索.防止客户流失! App Key轮换功能:当一个App Key超频则自动切换到下一个App Key。有效解决因API调用频率不够而无法调取到商品数据的情况! 其他高级功能:更多功能不再细致描述! 【运行环境】 1:Windows 平台:IIS/Apache + PHP(V5.1以上) 2:Linux/Unix 平台:Apache + PHP(V5.1以上)
APK软件汉化教程 (转载请注明来自藕粉网www.Allphone.com.cn的Smwenzi,谢谢) 随着Android手机种类的不断丰富,各种应用软件也开始遍地开花,Android用起来也越来越爽了……不过有很多软件都是老外编的,虽然英文界面也能用,但是毕竟不如咱们中文看着舒服,特别是一些功能相对比较复杂的软件,中文界面还是很有必要的。因此,本人综合网上多位前辈大侠的教程,加上自己的一点心得,对如何汉化APK软件,进行简要说明。由于我也是个新手,很多地方也许会不完善甚至存在错误,请各位兄弟不吝赐教。 一、概述 目前,网上常用的APK汉化方法有三种: 一是使用Hex Worksho,这种方法操作繁琐、费时费力,而且经常出现搜不到想要修改的字符的情况; 二是使用汉化浪子大侠的Android ResEdit(目前最新版本AndroidResEdit v1.5),这个软件使用简单直观,但是对不在资源文件中的词条无能为力,只能用于简单的汉化; 第三种就是我在这里要向大家推荐的APKTOOL,他的原理是把APK进行反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们秩序对有关图片和语言资源等文件进行修改,再编译打包成APK并签名,就可以得到汉化版的APK软件了。 二、搭建汉化环境 由于APKTOOL工具是用Java编制的,因此需要电脑中安装了JRE或者JDK(JAVA工具,用JRE即可)。 下载地址:………… 接下来就是我们要用到的关键工具——APKTOOL。这个是我在其他论坛找到的leasea大侠集成的一个批处理,可以省去自己输入指令的麻烦,实现解包、打包、签名自动处理,我自己也作了一点小小的修改,在此谢谢leasea大侠。 下载地址:………… 还有一个辅助工具Notepad++,这是一个功能强大的文本编辑软件,可以在指定文件夹中搜索字符串,对于在不在资源文件中的词条汉化,用这个可以极大减少工作量。 下载地址:………… 安装的步骤很简单了,下载上面三个文件,安装JRE和Notepad++,将APKTool压缩包解压到任意位置,就OK了。 另外,为了调试方便,推荐安装Android相应版本的SDK(或OMS),并建立虚拟机运行环境。当然用手机调试也可以,但是没那么方便而且容易发生不可预料的问题。关于虚拟机环境搭建请参考其他资料。 三、解包软件 将你需要汉化的APK文件,放到APKTOOL文件夹下面,双击运行“解包软件.BAT”,批处理会自动识别APK文件并开始解包,在这里我用FlipSilent(一个翻转静音工具)作为示例。 解包出来的资源存储在“汉化中的资源”文件夹中,原始的APK文件则被备份到“原始软件备份”文件夹中。 打开解包的资源文件,里面有两个文件夹:Res存储的各种资源文件;Smail:存储的是反编译的程序代码。至此解包操作完成。 四、初步汉化 汉化的第一步,是汉化res文件夹里面的程序界面资源。一般来说,这个文件夹里面会包含以下文件夹: Drawable:程序调用的图标以及各种图片; layout-land:竖版界面xml描述文件; layout-port:横版界面xml描述文件; menu:菜单布局xml描述文件; values:字符串资源定义,我们要汉化的绝大部分工作就在这里面; xml:其他不再详细分类的布局xml描述文件。 根据软件的不同,文件夹可能会多些也可能会少些,具体内容大家打开一看就大概能知道是什么了。这里FlipSilent软件相对比较简单,所以只有三个文件夹,如下图: 在values文件夹下的文件: 一般来说,汉化需要处理是arrays.xml和strings.xml这两个文件。如何判断哪些是需要我们翻译的词条呢?有三种方法,综合起来一般就差不离了: 第一个当然是在使用软件中界面出现的词条,这个可以用手机仔细查看,当然有一部分可能很少出现的提示会有遗漏; 第二个凡是一对tag里面的,一般情况下就是需要翻译的英文字符串。格式一般为:******* ,或**** 第三个是以大写字母开头的词条,一般都是需要汉化的。 注意:这三条要综合起来运用,特别是在比较大型的软件中,情况会比较复杂,需要自己不断摸索。 在解包FlipSilent软件中,没有arrays.xml文件,因此我们的对象就是strings.xml了。用记事本打开strings.xml文件,内容如下: 对比一下FlipSilent软件运行界面,一切都就都明白了…… 接下来的工作,就是考验各位的英语水准了…… 上面就是我翻译的结果了,水平不行,大家见笑…… 修改完毕了,保存退出。 五、打包签名 改完了strings.xml,下面就是打包看看效果了……有了leasea大侠的批处理,就很简单了,什么都不用管,双击运行“打包签名.BAT”就可以了。 如果出现的是上面的信息,那么恭喜你,过关了…… 如果有多余的信息,并提示你找不到“已汉化签名的软件”文件夹,那么说明你修改不该修改的词条,好好找找吧,这个就没办法一概而论了。 在弹出的资源管理器窗口里面,你就可以看到汉化后的软件了。现在试验一下吧。 注意:试验之前,要删除安装的原版软件,否则会安装失败的。 基本就搞定了……等等,怎么那个About按钮还是英文啊,对于追求完美的人,这是绝对不用需的。 可是在语言资源文件里面,就是找不到这个词啊。接着就是下一节了…… 六、深度汉化 先解释一下为什么还有一些词条没有汉化的原因。 一般而言,一个编写规范的Android程序,会把所有字符串资源都分离出来,放在values的strings.xml文件中,values目录中存放的是默认语言字符串资源(一般为英文)。APK程序在处理字符串资源时会先判断语言环境,然后自己调用对应语言的。可是,有的程序员会自觉不自觉地,将部分文字内容写到程序代码里面,因此就出现了在资源文件中找不到的词条了。 对这部分词条的修改,相对就比较复杂一些了,幸好我们有神兵利器:Notepad++。 打开Notepad++软件,选择菜单中的“搜索”—“在文件中查找”,查找目标中输入要查找的字符串,这里为“About”,在目录中,选择解包后的“汉化中的资源”文件夹中的“smali”文件夹,一定要勾选“包含子目录”选项。 选定后,点击“全部查找”按钮,NotePad++会将这个文件夹中所有包含“About”字符的地方给你列出来。 这里一共找到了6个,很明显前面的几个开头字符都是小写,不符合我们的要求,那么必然就是最后一个了,双击最后一行直接定位,修改为“关于软件”,然后保存…… 注意: 1.进行这部分修改的时候,不要在修改内容里面包含空格,否则极有可能在重新编译打包的时候出错; 2.在示例中需要修改的词条很简单,也很好找,但是实际操作中,可能会比这个复杂很多,尤其是可能搜索出很多一样的结果,究竟哪些能改,在这里的只有一个大致的判断方法,那就是只能修改const-string v* “***”  引号中的字符。 3.在同时出现多个重复的关键字时,请谨慎修改,有些可能是定义函数的, 具体参考http://code.google.com/p/smali/source/browse/#svn/dalvik-docs/opcodes 4.保存时的文本编码要设置为ANSI格式,具体操作在菜单栏的“格式”中。打包前确定classes 文件夹下没有其他无用文件,如notepad++的备份文件(为避免这种情况,请确认在菜单栏“设置”—“首选项”—“备份与自动完成”中,禁用自动备份功能)。 现在再打包签名,安装试验看看效果。 已经改过了吧,现在就可以收工了…… 七、修改图标 软件的内容汉化完成了,应该说就搞定了,不过,软件的图标往往会与手机的主题风格不一致,不够美观,甚至有的软件作者主要精力都在编程序上面,用的就是标准的小绿人,看不出来软件的功能。因此,对图标的美化也是有必要的。接下来我们对图标开刀。 还是在解包后的汉化资源中,这次我们的目标是res\Drawable下面的图片。原始图片是这样的: 我们要修改的是icon.png,注意左边“详细信息”里面的内容,显示该图像尺寸是48 x 48像素。剩下的就是用自己喜欢的图像替换它就可以了。我这里用的图像是藕粉网风格的,顺手把那个通知图标也换了,这个是24 x 24像素的,呵呵: 换完的效果就不单独上图了。 注意:编辑png图像,推荐使用Photoshop软件,兼容性好。这里我给大家附上一个藕粉风格图标的模板,希望大家能帮忙推广藕粉网。 图标模板下载地址:………… 八、其他 (一)一些软件中界面没有使用文字,而是调用的图片(这在游戏软件中更多见),对于此类界面的汉化,请参考替换图标,直接用同尺寸的图片替换就可以了。 (二)有的软件本身支持多语种,这样可能会在res文件夹下会出现多个以values开头的文件夹,对于这类软件,汉化也有两种做法: 一种是按照上面的方法,直接把默认语言文件夹values里面的资源都汉化掉,干脆利落,不过这样到了英文系统里面也显示汉字。 第二种方法,就在res目录里面建立对应的语言资源文件夹(简体中文资源的目录名是values-zh-rCN,繁体中文是values-zh-rTW),将英文资源values里面的arrays.xml和strings.xml复制到新目录里面进行汉化,让Android系统自己识别语种调用,从而达到在对应的语言环境中显示对应的界面。不过,如果软件的作者将一些词条放到了代码里面的话,这样汉化也就没什么必要了,因为代码中的词条是不会自己更换的,呵呵。 能把加密的XML文档转化为可见可编辑的形式。 打开google code发现Apktool更新了,居然支持win了。。。。 那本文就是一篇介绍在windows环境下使用Apktool的笔记。 安装 1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧 2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip 3.解压apktool.jar到 C:\Windows 解压apktool-install-windows.zip到任意文件夹(例如E盘根目录) 4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了。Apktool 命令 apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC apktool b ABC 从文件夹ABC重建APK,输出到ABC\dist\out.apk 然后我们反编译一枚软件玩玩… AutoMemoryManager的免费版底部有一条广告,去掉它吧。 把com.lim.android.automemman.apk放到同文件夹(我的就是E盘根目录) Win+R 运行CMD E:<回车> E:\>apktool d com.lim.android.automemman.apk AMM <回车> I: Baksmaling… I: Decoding resource table… I: Decoding resources… I: Copying assets and libs… 现在文件被decode到E:\AMM了,打开E:\AMM\res\layout\main.xml看,所有都可见了吧~ 编辑第59行 改为 然后CMD输入 E:\>apktool b AMM I: Checking whether sources has changed… I: Smaling… I: Checking whether resources has changed… I: Building resources… I: Building apk file… 用Auto-sign签名E:\AMM\dist\out.apk 安装 这样广告就不见了 再看,嘿嘿~很帅吧… 这其实就是改了AndroidManifest.xml里的ADmob广告ID罢了 Settings.Secure.setLocationProviderEnabled(getContentResolver(),LocationManager.NETWORK_PROVIDER, mNetwork.isChecked()); 根据mNetwork这个控件是否选中决定是否打开基站定位,mNetwork就是界面那个选择框

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧