8.5inch是多少厘米:关于中英文混合字符串的计算和截取

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/19 23:12:03
我想对一段中英文混合字符串按一定长度(可变字符数,不是字节数,从运行参数中来)截取。比如把一个有560个字符(中英文混合)的字符串,按程序启动时送来的参数进行截取,截取出来的字符串存入字符指针变量或者一个按实际截取长度而定义的字符串数组。谁能给我一段代码范例吗?---用VC得控制台程序向导生成的主程序为MAIN开头编写。谢谢谢谢!

#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;
}