关于中英文混合字符串的计算和截取

我想对一段中英文混合字符串按一定长度(可变字符数,不是字节数,从运行参数中来)截取。比如把一个有560个字符(中英文混合)的字符串,按程序启动时送来的参数进行截取,截取出... 我想对一段中英文混合字符串按一定长度(可变字符数,不是字节数,从运行参数中来)截取。比如把一个有560个字符(中英文混合)的字符串,按程序启动时送来的参数进行截取,截取出来的字符串存入字符指针变量或者一个按实际截取长度而定义的字符串数组。谁能给我一段代码范例吗?---用VC得控制台程序向导生成的主程序为MAIN开头编写。谢谢谢谢! 展开
 我来答
百度网友cbbfb23d7
2006-07-31 · 超过31用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:0
展开全部
#include "iostream"
using namespace std;
int main()
{
cout<<"input string:"<<endl;
char s[256];
gets(s);
fflush(stdin);
cout<<"length:"<<endl;
int num;
cin>>num;
int n=0;
char sub[256];
sub[0]=0;
while(s[n]!=0&&num>0)
{
if((s[n]&128)==128)//汉字的内码首位为1
{
strncat(sub,&s[n],2);
n+=2;
}
else
{
strncat(sub,&s[n],1);
n++;
}
num--;
}
printf("substring is:%s\n",sub);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式