⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmit.h

📁 java程序五子棋源代码。 java程序五子棋源代码。
💻 H
字号:


#include <string.h>  	// use for strlen()
#include "iconv.h" 	// use for iconv_open()/iconv()iconv_close()

size_t  CodeConvert(char* out_buf,size_t buf_len,char * in_str,char * fromcode,char * tocode,bool conv_begin = false)
{
	//static iconv_t	its_conv;
	iconv_t	its_conv;
	if ( (its_conv = iconv_open(tocode, fromcode)) == (iconv_t)-1 )
		return (size_t)-1;
	if (!in_str)
		return (size_t)-1;
	if (conv_begin)
		iconv(its_conv, NULL, NULL, NULL, NULL);

	const char *	instr = in_str;
	size_t	inlen = strlen(in_str) + 1;
	char *	outstr = out_buf;
	size_t	outlen = buf_len - 1;
	size_t	ret_conv = 0;
	ret_conv = iconv(its_conv, &instr, &inlen, &outstr, &outlen);
	// 当outlen长度不足时, iconv()返回-1
	iconv_close(its_conv);
	if ( (ret_conv == (size_t)-1) || (inlen == 1) )
		outstr[0] = '\0';	// 字符串末尾补充结束符'\0'
	if (inlen == 1)	// 此句必须在下句前
		return (buf_len - 1 - outlen);
	if (ret_conv == (size_t)-1)
		return 0;
	return (buf_len - 2 - outlen);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -