Пример #1
0
 vector<int> stat(string s) {
     vector<int> outvec(26,0);
     for(int i = 0; i < s.length(); i++) {
         char c = s[i];
         ++outvec[c - 'a'];
     }
     return outvec;
 }
Пример #2
0
const bool CharsetConverter::Convert(const std::string &input, std::string &output)
{
	if(m_iconv!=(iconv_t)-1)
	{
		if(input.size()==0)
		{
			return true;
		}

		std::vector<char> invec(input.begin(),input.end());
		std::vector<char> outvec(invec.size()*4,0);
#if defined(_WIN32) || defined(__FreeBSD__)//|| defined(__APPLE__) || defined(__DARWIN__)
		const char *inptr=&invec[0];
#else
		char *inptr=&invec[0];
#endif
		char *outptr=&outvec[0];
		size_t insize=invec.size();
		size_t outsize=outvec.size();

		size_t rval=0;
		
		rval=iconv(m_iconv,&inptr,&insize,&outptr,&outsize);
		
		if(outsize>=0)
		{
			outvec.resize(outptr-&outvec[0]);
			output="";
			output.append(outvec.begin(),outvec.end());
			return true;
		}
		else
		{
			return false;
		}
		
	}
	else
	{
		return false;	
	}
}