首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符串中插入换行符解决方法

2012-05-05 
字符串中插入换行符一个字符串,包含汉字和英文,我想每隔三十个汉字然后插入一个换行符,问题是:假设此字符

字符串中插入换行符
一个字符串,包含汉字和英文,我想每隔三十个汉字然后插入一个换行符,问题是:假设此字符串有60个字符,前30个是汉字,后30个是英文字母,运行程序后可以讲字符串分成两行,但是第一行却比第二行长了近一倍,有什么方法可以使每隔一定长度进行换行且每行长度相差不大?代码如下:
  QString cText = “阿斯顿飞啊分啊顶峰阿二等功额阿斯顿飞啊啊啊啊啊的份额鹅鹅鹅鹅eeeeeeeeeeeeeeeeeeeeeeeeeeeeee”;
  int length = cText.length();
for (int i=0;i<length;i++)
{
//每30个汉字自动换行
if (j==30&&cText[i]!='\n')
{
cText.insert(++i,tr("\n"));
j=0;
}
else if (cText[i]=='\n')
{
j=0;
}
j++;
}
运行结果如下:
阿斯顿飞啊分啊顶峰阿二等功额阿斯顿飞啊啊啊啊啊的份额鹅鹅鹅鹅
eeeeeeeeeeeeeeeeeeeeeeeeeeeeee

第一行与第二行差距太大,有什么方法可以使两行能够长度相同?

[解决办法]
你计算字符长度就可以了,按照字符进行换行

字母是1个字符 汉字是2个字符

热点排行