📄 data.c
字号:
#include <CsAgb.h>
#include <rb_data.h>
#include <rbasic.h>
void dat_add_num(double num)//置数字数据
{
if (num_dat_sta==NULL)
{
num_dat_sta=(struct num_dat *)malloc(sizeof(struct num_dat));
if (num_dat_sta==NULL)
{
rb_error=1;
return;
}
num_dat_end=num_dat_sta;
num_dat_now=num_dat_sta;
num_dat_sta->num=num;
num_dat_sta->next=NULL;
}
else
{
num_dat_end->next=(struct num_dat *)malloc(sizeof(struct num_dat));
if (num_dat_end->next==NULL)
{
rb_error=1;
return;
}
num_dat_end=num_dat_end->next;
num_dat_end->num=num;
num_dat_end->next=NULL;
}
}
double dat_read_num()//读数据
{
double num;
if (num_dat_now==NULL)
{
rb_error=20;
return 0.0;
}
num=num_dat_now->num;
num_dat_now=num_dat_now->next;
return num;
}
void dat_add_str(char *str)//置字符串数据
{
u8 len=str_len(str);
char *strp=(char *)malloc(len);
if (strp==NULL)
{
rb_error=6;
return;
}
if (str_dat_sta==NULL)
{
str_dat_sta=(struct str_dat *)malloc(sizeof(struct str_dat));
if (str_dat_sta==NULL)
{
rb_error=1;
return;
}
str_dat_sta->str=strp;
strcpy(str_dat_sta->str,str);
str_dat_sta->next=NULL;
str_dat_end=str_dat_sta;
str_dat_now=str_dat_sta;
}
else
{
str_dat_end->next=(struct str_dat *)malloc(sizeof(struct str_dat));
if (str_dat_end->next==NULL)
{
rb_error=6;
return;
}
str_dat_end=str_dat_end->next;
str_dat_end->next=NULL;
str_dat_end->str=strp;
strcpy(str_dat_end->str,str);
}
}
char *dat_read_str()//读字符串数据
{
char *strp;
if (str_dat_now==NULL)
{
rb_error=6;
return NULL;
}
strp=str_dat_now->str;
str_dat_now=str_dat_now->next;
return strp;
}
void dat_restore(u8 ty)//数据重置
{
if (ty) str_dat_now=str_dat_sta;
else num_dat_now=num_dat_sta;
}
void dat_clean_num(struct num_dat *cls)//数据清除
{
struct num_dat *next;
while (cls!=NULL)
{
next=cls->next;
free(cls);
cls=next;
}
}
void rb_clean_num()
{
dat_clean_num(num_dat_sta);
num_dat_sta=NULL;
num_dat_end=NULL;
num_dat_now=NULL;
}
void dat_clean_str(struct str_dat *cls)
{
struct str_dat *next;
while (cls!=NULL)
{
next=cls->next;
free(cls);
cls=next;
}
}
void rb_clean_str()
{
dat_clean_str(str_dat_sta);
str_dat_sta=NULL;
str_dat_end=NULL;
str_dat_now=NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -