C++字符串自动换行 为什么不能5个一行的呢?错在哪里?

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:25:10
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
string text="你好ABC123星期二456789 ";

for(int i = 0; i<text.length();i++)
{
cout<<setiosflags(ios::left)<<text[i];

if((text[i]+1)%5 == 0)
cout<<endl;
}
cout<<endl;

return 0;
}

高手来救救小弟啊!!!
可是汉字和字母数字都不匹配的,请问下有办法把汉字和字母数字都是按5个一样的输出吗?

程序已经改好:
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
string text="你好ABC123星期二456789";
for(int i=0;i<text.length();i++)
{
cout<<setiosflags(ios::left)<<text[i];
if((i+2)%5==0) //这里text[i]+1改成i+2就OK了
cout<<endl;
}
cout<<endl;

return 0;
}

怎么可能?汉字是占2个字符的~~~英文数字占1个字符。。
你说呢!