📄 charchain.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 + -