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

📄 charchain.c

📁 Takechar 可以从不同种类的源代码中取出中文字符.它对于嵌入式设备的小字体开发非常有帮助.
💻 C
字号:
/****************************************************
	Takechar V1.00 Takes out Chinese characters from source code.
	Copyright(C) 2007 ShiQizheng(sales@newexperience.51.net)
	http://newexperience.51.net

	All rights reserved.

	Released under GPL. Please see "gpl.txt" for details.
****************************************************/

#include "charchain.h"

int CharChain_Init( CHARCHAIN **ppChain, char *pszChar)
{
	*ppChain = ( CHARCHAIN *)malloc( sizeof( CHARCHAIN));
	if ( !*ppChain)
	{
		return CHARCHINA_ERROR;
	}
	( *ppChain)->szChar[0] = * pszChar;
	( *ppChain)->szChar[1] = *( ++pszChar);
	( *ppChain)->szChar[2] = 0;
	( *ppChain)->pNext = 0;
	return CHARCHINA_OK;
}

int CharChain_AddChar( CHARCHAIN *pChain, char *pszChar)
{
	CHARCHAIN *pItem;

	if ( ( pChain->szChar[0] == *pszChar) && ( pChain->szChar[1] == *( pszChar + 1)))
	{
		return CHARCHINA_OK;
	}

	while( pChain->pNext)
	{
		if ( ( pChain->pNext->szChar[0] == *pszChar) && ( pChain->pNext->szChar[1] == *( pszChar + 1)))
		{
			return CHARCHINA_OK;
		}

		pChain = pChain->pNext;
	}

	pItem = ( CHARCHAIN *)malloc( sizeof( CHARCHAIN));
	if ( !pItem)
	{
		return CHARCHINA_ERROR;
	}
	pChain->pNext= pItem;
	pItem->szChar[0] = *( pszChar);
	pItem->szChar[1] = *( ++pszChar);
	pItem->szChar[2] = 0;
	pItem->pNext = 0;
	return CHARCHINA_OK;
}

void CharChain_Free( CHARCHAIN *pChain)
{
	CHARCHAIN *pItem;
	while ( pChain)
	{
		pItem = pChain->pNext;
		free( pChain);
		pChain = pItem;
	}
}

int CharChain_WriteToFile( CHARCHAIN *pChain, char *pszFileName)
{
	FILE *pOutputFile;
	int iCounter;

	iCounter = 0;
	pOutputFile = fopen( pszFileName, "wb+");
	if ( !pOutputFile)
	{
		Log( "ERROR: Can not open/create output file:%s\n", pszFileName);
		return CHARCHINA_ERROR;
	}

	while ( pChain)
	{
		if ( !fprintf( pOutputFile, "%s\r\n", pChain->szChar))
		{
			fclose( pOutputFile);
			return CHARCHINA_ERROR;
		}
		iCounter ++;
		pChain = pChain->pNext;
	}

	fclose( pOutputFile);

	Log( "Had taken out %d Chinese characters.", iCounter);
	return CHARCHINA_OK;
}

⌨️ 快捷键说明

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