编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 |
思路:
汉字是用两个字节存储,每个字节的最高位为1,也就是说组成汉字的两个字节都是负数,以此来判断是否为汉字。 |
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string str;
int n;
getline(cin,str);
cin>>n;
if(str[n]<0&&str[n-1]<0)
cout<<str.substr(0,n-1);
else
cout<<str.substr(0,n);
return 0;
}