返回信息流现在有一个C++问题 编写一个GetShort(cstring str,int Len)函数 实现截断所需len长度字符的功能 主要考虑到中英文字符的处理 还有就是截断后的字符加上... 还请高手指教
这是一条镜像帖。来源:北邮人论坛 / cpp / #73156同步于 2013/8/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求教C++ 字符串截取
sophiaa2013
2013/8/11镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
CString里的成员函数不足以满足你的需求吗?一定要自己来写?
你想实现的这个GetShort的具体功能需求又是什么?函数返回值是什么?
【 在 sophiaa2013 的大作中提到: 】
: 现在有一个C++问题 编写一个GetShort(cstring str,int Len)函数 实现截断所需len长度字符的功能 主要考虑到中英文字符的处理 还有就是截断后的字符加上... 还请高手指教
【 在 tonyjansan 的大作中提到: 】
: CString里的成员函数不足以满足你的需求吗?一定要自己来写?
: 你想实现的这个GetShort的具体功能需求又是什么?函数返回值是什么?
:
楼主主要是在考虑中英文编码的问题吧?
楼主的中文编码方式是utf8还是gbk?
这个意思?
CString src = _T("我是字符串");
int len = 3;
CString tmp = src.Left(len);
CString dst = tmp + _T("...");
【 在 bswgd 的大作中提到: 】
:
: 楼主主要是在考虑中英文编码的问题吧?
: 楼主的中文编码方式是utf8还是gbk?
【 在 tonyjansan 的大作中提到: 】
: 这个意思?
: CString src = _T("我是字符串");
: int len = 3;
: ...................
我是字符串。。。。
现在大神们都喜欢卖萌了?
我是确实没看懂LZ的那个GetShort要干什么- -
“编写一个GetShort(cstring str,int Len)函数 实现截断所需len长度字符的功能”
如果按照她这个函数命名来推测似乎是想拿出字符串中的一个short(wchar_t),可是她后边又补充说“实现截取所需len长度字符的功能”,这个意思应该是截取字符串吧...
然后就被她这个诡异的描述搞糊涂了
【 在 gsl2011 的大作中提到: 】
: 我是字符串。。。。
: 现在大神们都喜欢卖萌了?
【 在 tonyjansan 的大作中提到: 】
: 我是确实没看懂LZ的那个GetShort要干什么- -
: “编写一个GetShort(cstring str,int Len)函数 实现截断所需len长度字符的功能”
: 如果按照她这个函数命名来推测似乎是想拿出字符串中的一个short(wchar_t),可是她后边又补充说“实现截取所需len长度字符的功能”,这个意思应该是截取字符串吧...
: ...................
目测lz的顾虑是在编码上
Windows下用Unicode-2LE应该问题不大吧~就怕搞出UTF-8来就跪了~
【 在 gsl2011 的大作中提到: 】
: 目测lz的顾虑是在编码上
话说要不要试试Python?
Python2有unicode类型,专门处理各国语言;Python3的str类型默认为unicode。下面以Python3举例:
txt = "我是字符串"
想取前3个,就是
txt2 = txt[:3]
print(txt3) # 输出“我是字”
完美处理中英文
要不然,试试Java。从设计之初,String类型就支持unicode。同样想取前3个字符也容易。
String txt = "我是字符串";
String txt2 = txt.substring(0,3);
System.out.println(txt2); // 输出“我是字”
或者再试试Ruby。从Ruby2.0开始,默认的字符串类型为unicode字符串。像Python一样简单。
(不过,Ruby1.9以及之前,处理汉字都挺麻烦的,但现在2.0是最新稳定版。)
txt = "我是字符串"
txt2 = txt[0...3]
puts txt2 # 输出“我是字”
【 在 tonyjansan 的大作中提到: 】
: 这个意思?
: CString src = _T("我是字符串");
: int len = 3;
: ...................
嗯 但想请教.left函数在中文截取时会有问题吗?比如.mid函数 在截取半个中文字符就会出现问题