gbstrtab.c
来自「C编译器,在VC6.0环境下开发」· C语言 代码 · 共 71 行
C
71 行
#include "GBStrTab.h"
#include "Error.h"
#include <malloc.h>
#include <stdio.h>
#include <string.h>
const_string *g_StringTabHead;
static int sg_nstr_num;
const char _STR_VAR_NAME[] = "str_%d";
// init string tab
void InitStringTab()
{
g_StringTabHead = NULL;
sg_nstr_num = 0;
}
// free string tab
void DestoryStringTab()
{
const_string *p;
p = g_StringTabHead;
while ( p )
{
const_string *tmp = p;
p = p->next;
free(tmp);
}
g_StringTabHead = NULL;
sg_nstr_num = 0;
}
// add string to string tab
// dont think the same string
// can add in string list , future........
const_string *AddStringToStrTab( const char *str )
{
const_string *tmp;
// malloc the memory
tmp = (const_string *)malloc( sizeof(const_string) );
if ( !tmp )
{
yyerror("Out of memory in AddStringToStrTab()");
user_exit(1);
}
// copy string and assign globe string value NO.
strncpy( tmp->str, str, MAX_STR_LEN );
sprintf( tmp->rname, _STR_VAR_NAME, sg_nstr_num++ );
tmp->next = g_StringTabHead;
g_StringTabHead = tmp;
// ok, go........
return tmp;
}
const_string *get_string_tab_head()
{
return g_StringTabHead;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?