示例#1
0
void			get_map()
{
	extern t_client t;
	char 		*str;
	char		*tmp;
	int		i;
	int		a;

	t.k = 0;
	a = 0;
	tmp = xmalloc(56 * sizeof(*tmp));
	tmp = my_strcat("bct ", int_to_char(t.x_map - 1));
	tmp = my_strcat(tmp, " ");
	tmp = my_strcat(tmp, int_to_char(t.y_map - 1));
	t.contenu_map[t.k] = xmalloc(256 * sizeof(*t.contenu_map));
	send(t.s, "mct\n", 4, 0);
	str = xmalloc(256 * sizeof(*str));
	t.tab = xmalloc(513 * sizeof(*t.tab));
	str[0] = '\0';
	t.tab[0] = '\0';
	while ((t.size = recv(t.s, t.buf, 256, 0)) != -1)
	{
		if (my_strlen(str) != 0)
		{
			t.tab = my_strcat(t.tab, str);
			str[0] = '\0';
		}
		if (t.buf[t.size - 1] != '\n')
		{
			for (i = 0;t.buf[t.size - 1] != '\n';t.size--, i++)
				str[i] = t.buf[t.size - 1];
			t.buf[t.size] = '\0';
			t.tab = my_strcat(t.tab, t.buf);
			str[i] = '\0';
			str = my_revstr(str);
		}
		else
		{
			t.buf[t.size] = '\0';
			t.tab = my_strcat(t.tab, t.buf);
		}
		if (t.tab)
			if (get_infomap(tmp) == 1)
				break;
		t.tab[0] = '\0';
	}
	free(t.tab);
	free(tmp);
	free(str);
	draw_map();
}
示例#2
0
void	print_n_if_unique(int n, int n1, int n2)
{
	if (n != n1 && n1 != n2 && n != n2)
	{
		ft_putchar(int_to_char(n));
		ft_putchar(int_to_char(n1));
		ft_putchar(int_to_char(n2));
		if (!(n == 7 && n1 == 8 && n2 == 9))
		{
			ft_putchar(',');
			ft_putchar(' ');
		}
	}
}
示例#3
0
void menu_floatinput_set(struct menu_item *item, float value)
{
  if (is_nan(value) || !isnormal(value))
    value = 0.f;
  struct item_data *data = item->data;
  data->value = value;

  int sig_sign = signbit(value) ? -1 : 1;
  value = fabsf(value);
  int exp = value == 0.f ? 0.f : floorf(log10f(value));
  int sig = value / pow(10., exp - (data->sig_precis - 1)) + 0.5;
  int exp_sign = exp < 0 ? -1 : 1;
  exp *= exp_sign;
  char *p = data->item->text;

  if (sig_sign == 1)
    data->item->text[0] = data->sig_sign->text[0] = '+';
  else {
    data->item->text[0] = data->sig_sign->text[0] = '-';
    *p++ = '-';
  }
  for (int i = data->sig_precis - 1; i >= 0; --i) {
    int x = i;
    if (i > 0)
      ++x;
    int c = int_to_char(sig % 10);
    sig /= 10;
    data->sig_digits[i]->text[0] = c;
    p[x] = c;
  }
  p[1] = '.';
  p += data->sig_precis + 1;
  *p++ = 'e';

  if (exp_sign == 1)
    data->item->text[3 + data->sig_precis] = data->exp_sign->text[0] = '+';
  else {
    data->item->text[3 + data->sig_precis] = data->exp_sign->text[0] = '-';
    *p++ = '-';
  }
  for (int i = data->exp_precis - 1; i >= 0; --i) {
    int c = int_to_char(exp % 10);
    exp /= 10;
    data->exp_digits[i]->text[0] = c;
    p[i] = c;
  }
  p[data->exp_precis] = 0;
}
示例#4
0
文件: ft_itoa.c 项目: DonKino/42
char	*ft_itoa(int n)
{
	char		*dst;
	int			mult;
	int			size;
	int			sign;
	int			bullshit;

	mult = 1;
	size = 1;
	sign = 1;
	bullshit = 0;
	if (n == -2147483648)
	{
		n = n + 1;
		bullshit = 1;
	}
	if (n < 0)
	{
		n *= -1;
		sign = 2;
	}
	while(n / mult >= 10 && size++)
		mult *= 10;
	dst = malloc(sizeof(char) * size + sign);
	if (!dst)
		return (NULL);
	int_to_char(n, dst, mult, sign, bullshit);
	return(dst);
}
char* convert_fractional(char *fractional_part,unsigned int sourceBase, unsigned int destBase){
int i;
int i_p;
double result;
char i_p1;
 char c_v;
    char str1[5]="";

char r_result[15]=".";



for(i=0;i<strlen(fractional_part);i++){
        result+=(1/pow((double)sourceBase,i+1))*char_to_int(fractional_part[i]);
}



for(i=0;i<12;i++){
    result*=destBase;
    i_p=result;
    c_v=int_to_char(i_p);
    str1[0]=c_v;
    strcat(r_result,str1);
    result-=i_p;
}
return r_result;

}
示例#6
0
superint superint::operator +(superint x)// +重载
{
    superint add,t;
    t.strint=superint::strint;
    int mark=0,m1=1,m2=1;
    int n1,n2,n;
    n1=t.strint.length();
    n2=x.strint.length();
//倒置字符串
    convert(t.strint);
    convert(x.strint);
//检测是否为负数
    if(t.strint[n1-1]==45)
    {
        n1--;
        m1=-1;
        t.strint.resize(n1);//消除负号
    }
    if(x.strint[n2-1]==45)
    {
        n2--;
        m2=-1;
        x.strint.resize(n2);//消除负号
    }

    n=n1>n2?n1:n2;

//补齐字符串
    if(n==n1)
    {
        for(int i=0;i<n1-n2;i++) x.strint+="0";
    }
    else
    {
        for(int i=0;i<n2-n1;i++) t.strint+="0";
    }
//符号相同
    if(m1==m2)
    {
         for(int i=0;i<n;i++)
         {
             int tem,addx;
             tem=char_to_int(x.strint[i])+char_to_int(t.strint[i])+mark;
             mark=tem/10;
             addx=tem%10;
             add.strint+=int_to_char(addx);
         }
         if(mark==1) add.strint+="1";
         if(m1+m2==-2) add.strint+="-";
         convert(add.strint);
    }
//符号相异
    convert(t.strint);
    convert(x.strint);
    if(m1>m2) add=t-x;
    if(m1<m2) add=x-t;

    return add;
}
示例#7
0
superint superint::operator /(superint x)// /重载
{
    superint div,t;
    t.strint=superint::strint;
    int m1=1,m2=1;
    int n,n1,n2;
    n1=t.strint.length();
    n2=x.strint.length();
//倒置字符串
    convert(t.strint);
    convert(x.strint);
//检测是否为负数
    if(t.strint[n1-1]==45)
    {
        n1--;
        m1=-1;
        t.strint.resize(n1);//消除负号
    }
    if(x.strint[n2-1]==45)
    {
        n2--;
        m2=-1;
        x.strint.resize(n2);//消除负号
    }
//倒置字符串
    convert(t.strint);
    convert(x.strint);
//符号相同
    if(t<x) div=0;
    if(t>=x)
    {
        int t1,t2;
        superint tem;
        n=n2-1;
        tem.strint=cutcp(t.strint,0,n-1);
        do
        {
            tem.strint+=t.strint[n];
            for(int i=0;i<=9;i++)
            {
                t1=i;
                t2=i+1;
                if(((x*t1)<=tem)&&((x*t2)>tem)) break;
            }
            div.strint+=int_to_char(t1);
            tem=tem-x*t1;
        }
        while(++n<n1);
        convert(div.strint);
        remove0(div.strint);
        convert(div.strint);
    }
//符号相异
    if(m1!=m2) div=-div;

    return div;
}
示例#8
0
文件: display.c 项目: floklein/42
void	display_tab_hex(char *str)
{
	int		i;
	char	tab[4];

	i = 0;
	while (str[i] != '\0')
	{
		if (ft_strlen(ft_convert_base(int_to_char(str[i], tab)
		, "0123456789", "0123456789abcdef")) == 1)
			ft_putchar('0');
		ft_putstr(ft_convert_base(int_to_char(str[i], tab)
		, "0123456789", "0123456789abcdef"));
		i++;
		if (str[i] != '\0')
			ft_putchar(' ');
	}
}
示例#9
0
文件: convert.hpp 项目: saleyn/utxx
 inline static void save_itoa(Char*& bytes, long n, Char a_pad) {
     long m = n / 10;
     *bytes-- = int_to_char(n - m*10);
     if (m == 0) {
         if (a_pad)
             next::pad_left(bytes, a_pad);
         return;
     }
     next::save_itoa(bytes, m, a_pad);
 }
示例#10
0
void alg_optim(iks_list_t *c, int w) {
  while(w--) {
    iloc_t *i = c->item;
    iloc_oper_t *o = i->opers->item;
    char *t1,*t2;
    switch (o->opcode) {
      // sub r1,r1 => r2
      case op_sub:
         t1 = o->src_operands->item;
         t2 = o->src_operands->next->item;
        if (!strncmp(t1,t2,2)) {
          free(t1);
          free(t2);
          t1=int_to_char(0);
          i->opers->item = new_iloc_oper(op_loadI,
                            t1,
                            NULL,
                            NULL,
                            o->dst_operands->item,
                            NULL,
                            NULL);
        }
        break;
      // addI r0, 0 => r1
      case op_addI:
        t1 = o->src_operands->next->item;
        if (!strncmp(t1,"0",1)) {
          i->opers->item = new_iloc_oper(op_load,
                            o->src_operands->item,
                            NULL,
                            NULL,
                            o->dst_operands->item,
                            NULL,
                            NULL);
        }
        break;
      // multI r0, 1 => r1
      case op_multI:
        t1 = o->src_operands->next->item;
        if (!strncmp(t1,"1",1)) {
          free(t1);
          i->opers->item = new_iloc_oper(op_load,
                            o->src_operands->item,
                            NULL,
                            NULL,
                            o->dst_operands->item,
                            NULL,
                            NULL);
        }
        break;
    }

    c = c->next;
  }
}
示例#11
0
文件: global.c 项目: bilboed/wine
static HRESULT JSGlobal_escape(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISPPARAMS *dp,
        VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
{
    BSTR ret, str;
    const WCHAR *ptr;
    DWORD len = 0;
    HRESULT hres;

    TRACE("\n");

    if(!arg_cnt(dp)) {
        if(retv) {
            ret = SysAllocString(undefinedW);
            if(!ret)
                return E_OUTOFMEMORY;

            V_VT(retv) = VT_BSTR;
            V_BSTR(retv) = ret;
        }

        return S_OK;
    }

    hres = to_string(ctx, get_arg(dp, 0), ei, &str);
    if(FAILED(hres))
        return hres;

    for(ptr=str; *ptr; ptr++) {
        if(*ptr > 0xff)
            len += 6;
        else if(isalnum((char)*ptr) || *ptr=='*' || *ptr=='@' || *ptr=='-'
                || *ptr=='_' || *ptr=='+' || *ptr=='.' || *ptr=='/')
            len++;
        else
            len += 3;
    }

    ret = SysAllocStringLen(NULL, len);
    if(!ret) {
        SysFreeString(str);
        return E_OUTOFMEMORY;
    }

    len = 0;
    for(ptr=str; *ptr; ptr++) {
        if(*ptr > 0xff) {
            ret[len++] = '%';
            ret[len++] = 'u';
            ret[len++] = int_to_char(*ptr >> 12);
            ret[len++] = int_to_char((*ptr >> 8) & 0xf);
            ret[len++] = int_to_char((*ptr >> 4) & 0xf);
            ret[len++] = int_to_char(*ptr & 0xf);
        }
        else if(isalnum((char)*ptr) || *ptr=='*' || *ptr=='@' || *ptr=='-'
示例#12
0
文件: convert.hpp 项目: saleyn/utxx
 static void save_itoa(Char*& bytes, long n, Char a_pad) {
     long m = n / 10;
     *bytes++ = int_to_char(n - m*10);
     if (m == 0) {
         if (a_pad)
             next::pad_right(bytes, a_pad);
         else
             *bytes = '\0';
         return;
     }
     next::save_itoa(bytes, m, a_pad);
 }
示例#13
0
void format_money(char * line, int money, int start, int end)
{
	line[start] = ' ';
	line[end] = ' ';
	int neg = 0;
	if(money < 0)
	{
		neg = 1;
		money = 0 - money;
	}
	int i = end - 2, j = 1;
	while(money > 0 && j < MAX_AMOUNT_LENGTH + 1)
	{
		int rem = money % 10;
		money = money / 10;
		char ch = int_to_char(rem);
		
		if(j == 3)
			line[i--] = '.';
		else if((j - 3) % 3 == 0)
			line[i--] = ',';
		line[i--] = ch;
		j++;
	}
	if(j > MAX_AMOUNT_LENGTH)
	{
		i = end - 2;
		j = 1;
		//(?,???,???.??)
		while(i > (start + 1))
		{
			if(j == 3)
				line[i--] = '.';
			else if((j - 3) % 3 == 0)
				line[i--] = ',';
			line[i--] = '?';
			j++;
		}
	}
	else
		while(i > (start + 1))
			line[i--] = ' ';
	if(neg)
	{
		line[start + 1] = '(';
		line[end - 1] = ')';
	}
	else
	{
		line[start + 1] = ' ';
		line[end - 1] = ' ';
	}
}
示例#14
0
static int digit_navigate_proc(struct menu_item *item,
                               enum menu_navigation nav)
{
  int value = char_to_int(item->text[0]);
  if (nav == MENU_NAVIGATE_UP)
    ++value;
  else if (nav == MENU_NAVIGATE_DOWN)
    --value;
  else
    return 0;
  value = (value + 10) % 10;
  item->text[0] = int_to_char(value);
  return 1;
}
示例#15
0
/**********************************************************************
 * Function:    si4708_set_vol(char vol)
 * Description: This function  sets volume to register
 * Input:         volume value
 * Output:       none
 * Return:       0 = success, negative = failure
 * Others:      
 * Modify Date    Version    Author        Modification
 * ----------------------------------------------------
 * 2009/11/11       1.0      fengyuao        modify
 **********************************************************************/
static int si4708_set_vol(char vol)
{
	int res;
	int vol_value;

       fm_si4708_dev->vol = vol & 0xF;
       vol_value = (int)fm_si4708_dev->vol ;
	   
    	if(vol_value < FM_VOL_MUTE)
		fm_si4708_dev->vol = int_to_char(FM_VOL_MUTE);
		
	if(vol_value > FM_VOL_MAX) 
   	       fm_si4708_dev->vol = int_to_char(FM_VOL_MAX);
		
    	fm_si4708_dev->regs[FM_REG_SYSCONFIG2+1] &= ~REG_VOL_MASK; 
	fm_si4708_dev->regs[FM_REG_SYSCONFIG2+1] |=  fm_si4708_dev->vol; 
      
	/*write  vol  to register*/
    	res = si4708_regs_write(fm_si4708_dev->client, &fm_si4708_dev->regs[FM_REG_WR_START], 8);
	if(res < 0)
		fm_si4708_dev->initialized = 0;

    	return res;
}
示例#16
0
文件: global.c 项目: RareHare/reactos
static HRESULT JSGlobal_escape(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv,
        jsval_t *r)
{
    jsstr_t *ret_str, *str;
    const WCHAR *ptr;
    DWORD len = 0;
    WCHAR *ret;
    HRESULT hres;

    TRACE("\n");

    if(!argc) {
        if(r)
            *r = jsval_string(jsstr_undefined());
        return S_OK;
    }

    hres = to_string(ctx, argv[0], &str);
    if(FAILED(hres))
        return hres;

    for(ptr = str->str; *ptr; ptr++) {
        if(*ptr > 0xff)
            len += 6;
        else if(is_ecma_nonblank(*ptr))
            len++;
        else
            len += 3;
    }

    ret_str = jsstr_alloc_buf(len);
    if(!ret_str) {
        jsstr_release(str);
        return E_OUTOFMEMORY;
    }

    len = 0;
    ret = ret_str->str;
    for(ptr = str->str; *ptr; ptr++) {
        if(*ptr > 0xff) {
            ret[len++] = '%';
            ret[len++] = 'u';
            ret[len++] = int_to_char(*ptr >> 12);
            ret[len++] = int_to_char((*ptr >> 8) & 0xf);
            ret[len++] = int_to_char((*ptr >> 4) & 0xf);
            ret[len++] = int_to_char(*ptr & 0xf);
        }
        else if(is_ecma_nonblank(*ptr))
示例#17
0
文件: setscheduler.c 项目: bt404/lsp
int main(void)
{
    extern char int_to_char(int);
    int ret;
    struct sched_param sp={.sched_priority=10};
    ret=sched_setscheduler(0,SCHED_RR,&sp);
    if(ret==-1)
    {
        perror("setscheduler\n");
        return 1;
    }
    ret=sched_getscheduler(0);
    if(ret==-1)
    {
        perror("getscheduler\n");
        return 1;
    }
    /*if(ret==SCHED_RR)
    {
        struct sched_param sp2;
        int ret2=sched_getparam(0,&sp2);
        if(ret2==-1)
        {
            perror("getparam\n");
        }
        printf("the scheduler is sched_rr and the priority is %d\n",sp2.sched_priority);
    }*/  //method 1

    char cmd[40]="./getscheduler ";
    char strret=int_to_char(ret);
    char x[2]={strret,'\0'};
    strcat(cmd,x);
    ret=system(cmd);
    if(ret==-1)
    {
        perror("system\n");
        return 1;
    }

    return 0;
}

char int_to_char(int a)
{
    char b;
    sprintf(&b,"%d",a);
    return b;
}
示例#18
0
/**
 * Send current CPM value to the GUI for display.
 */
void Controller::send_cpm_values() {
  //TODO: I should change this so it only sends the messages the GUI currently needs.
  char text_cpmdint[50];
  char text_cpmd[50];

  float cpm_deadtime_compensated = system_geiger->get_cpm_deadtime_compensated();
  int_to_char(cpm_deadtime_compensated+0.5,text_cpmdint,7);
  if(cpm_deadtime_compensated > MAX_CPM) {
    sprintf(text_cpmdint,"TOO HIGH"); // kanji image is 45
  }

  if(!m_cpm_cps_switch) {       // no auto switch, just display CPM
    char text_cpmd_tmp[30];
    sprintf(text_cpmd_tmp,"%8.3f",system_geiger->get_cpm_deadtime_compensated());
    sprintf(text_cpmd    ,"%8.8s",text_cpmd_tmp);
    m_gui->receive_update("CPMSLABEL","CPM");
  } else {

    float cpm = system_geiger->get_cpm_deadtime_compensated();

    if(cpm > m_cpm_cps_threshold) {
      m_current_units = UNITS_CPS;
    }
    else if(cpm < m_cps_cpm_threshold) {
     m_current_units = UNITS_CPM;
    }
    // else { we are in the gray zone, do not switch }

    if(m_current_units == UNITS_CPM) {
      char text_cpmd_tmp[30];
      sprintf(text_cpmd_tmp,"%8.0f",system_geiger->get_cpm_deadtime_compensated());
      sprintf(text_cpmd    ,"%8.8s",text_cpmd_tmp);
      m_gui->receive_update("CPMSLABEL","CPM");
    } else {
      char text_cpmd_tmp[30];
      sprintf(text_cpmd_tmp,"%8.0f",system_geiger->get_cpm_deadtime_compensated()/60);
      sprintf(text_cpmd    ,"%8.8s",text_cpmd_tmp);
      m_gui->receive_update("CPMSLABEL","CPS");
    }
  }

  if(system_geiger->get_cpm_deadtime_compensated() > MAX_CPM) {
    sprintf(text_cpmd,"TOO HIGH");
  }
  m_gui->receive_update("CPMDEADINT",text_cpmdint);
  m_gui->receive_update("CPMDEAD",text_cpmd);
}
示例#19
0
void		change_mem_sti(t_fork *fork, t_game *game)
{
  char		b;
  int		c;

  c = fork->registr[fork->first_arg];
  b = 0;
  while (b < REG_SIZE)
    {
      if ((fork->pc + fork->sec_arg + fork->third_arg + b) < 0)
	return ;
      game->map[(fork->pc + fork->sec_arg + fork->third_arg + b) % MEM_SIZE] =
	int_to_char(c);
      c = c << 8;
      c = c & 0xFFFFFF00;
      b = b + 1;
    }
}
示例#20
0
bool in_check(bool is_white)
{
	char tc, fc;
	int tr, fr;
	if (!find_piece(is_white ? 'K' : 'k', tc, tr)) return false;
	for (int i = 0; i < SZ; i++)
	{
		for (int j = 0; j < SZ; j++)
		{
			fc = int_to_char(j);
			fr = i + 1;
			if (iscol(fc, fr, !is_white))
			{
				switch (toupper(bd[i][j]))
				{
				case 'P':
					break;
				case 'N':
					if (KNCHK)
						return true;
					break;
				case 'B':
					if (BSCHK)
						return true;
					break;
				case 'R':
					if (RKCHK)
						return true;
					break;
				case 'Q':
					if (QNCHK)
						return true;
					break;
				case 'K':
					if (KGCHK)
						return true;
				default:
					break;
				}
			}
		}
	}
	return false;
}
示例#21
0
/*******************************************************************************
* Function Name  : ConvertToString
* Description    :
* Input          : None
* Return         : None
*******************************************************************************/
void ConvertToString(uint32_t Num, char* Str, uint8_t NumSymbol)
{
	int32_t i, j, Rate;
	uint8_t A[NumSymbol];
	uint32_t NumPow = 1;

	for(i = 0; i < NumSymbol+1; i++) NumPow *= 10;
	if(Num > NumPow - 1) Num = NumPow - 1;

	for(i = NumSymbol - 1; i >= 0; i--)
	{
		A[i] = 0; Rate = 1;

		for(j = 0; j < i; j++) Rate *= 10;
		while(Num >= Rate){ Num = Num - Rate; A[i]++; }

		(*Str) = int_to_char(A[i]);
		Str++;
	}
}
char* convert(char *integer_part, unsigned int sourceBase, unsigned int destBase){
    int result=0;

    int i;
    char str[20]="";
    char c_v;
    char str1[5]="";
    char result_integer_part[100]="\0";
    if(sourceBase==10){
            result=atoi(integer_part);

    }else{
    for(i=strlen(integer_part)-1;i>=0;i--){
        result+=char_to_int(integer_part[i])*pow(sourceBase,abs(i-strlen(integer_part)+1));
    }
    }

    while(result!=0){
        int temp;
        temp=result%destBase;

        c_v=int_to_char(temp);
        str1[0]=c_v;

        strcat(result_integer_part,str1);
        result=result/destBase;
    }


    char r_result[100]="\0";


    for(i=0;i<strlen(result_integer_part);i++){
        r_result[i]=result_integer_part[strlen(result_integer_part)-1-i];

    }


    return r_result;

}
示例#23
0
void ajouter_nuplet () {
    printf("\nÀ quelle relation voulez-vous ajouter un n-uplet?\n");
    Meta_relation *relation = proposer_relation();
    Buffer *buffer = creer_buffer(0, 64);
    for (int ind_att = 0; ind_att<relation->nb_attr; ind_att++) {
        Meta_attribut *attribut = relation->attributs[ind_att];
        
        printf("saisissez la valeur de l'attribut %s ", attribut->id);
        if (attribut->domaine->type == 0) {
            printf("de type INT\n");
            printf ("Votre saisie : ");
            scanf("%d", &choix_utilisateur);
            
            // Copie des octets dans le buffer
            unsigned char * octets = int_to_bytes(choix_utilisateur);
            memcpy(buffer->donnees+buffer->taille, octets, sizeof(unsigned char) * 4);
            
            // Mise à jour de la taille du buffer
            buffer->taille += 4;
            afficher_buffer(buffer);
        }
        else {
            printf("de type VARCHAR (%d)\n", attribut->domaine->taille);
            char *varchar = (char *) malloc (sizeof(attribut->domaine->taille));
            printf("Votre saisie : ");
            scanf("%s", varchar);
            unsigned long taille_varchar = strlen(varchar);
            
            //  AJOUT DE LA TAILLE REELLE DU VARCHAR
            buffer->donnees[buffer->taille] = int_to_char((int) taille_varchar);
            buffer->taille++;
            
            //  AJOUT DU VARCHAR
            strcpy(buffer->donnees + buffer->taille, varchar);
            buffer->taille+= taille_varchar;
            afficher_buffer(buffer);
        }
    }
    // ENREGISTREMENT DU NUPLET EN MEMOIRE VIVE
    enregistrer_nuplet(buffer, relation);
}
示例#24
0
int main(int argc, char **argv)
{
    int i;
    FILE *dev_random;
    unsigned char buffer[PASSWORD_CHARS];

    dev_random = fopen("/dev/random", "r");
    if (dev_random == NULL) {
        fprintf(stderr, "No /dev/random, aborting\n");
        abort();
    }

    if (fread(&buffer, sizeof(buffer), 1, dev_random) != 1) {
        fprintf(stderr, "Short read, aborting\n");
        abort();
    }

    for (i = 0; i < PASSWORD_CHARS; i++)
        printf("%c", int_to_char(buffer[i]));

    printf("\n");

    return 0;
}
示例#25
0
void LCD_write_int(unsigned char X,unsigned char Y,unsigned int num){
    unsigned char *string="0X0000";
    int_to_char(num,string);
    LCD_write_string(X,Y,string);
   
}
示例#26
0
superint superint::operator *(superint x)// *重载
{
    superint mul=0,t;
    t.strint=superint::strint;
    int mark=0,m1=1,m2=1;
    int n1,n2,n;
    n1=t.strint.length();
    n2=x.strint.length();
//倒置字符串
    convert(t.strint);
    convert(x.strint);
//检测是否为负数
    if(t.strint[n1-1]==45)
    {
        n1--;
        m1=-1;
        t.strint.resize(n1);//消除负号
    }
    if(x.strint[n2-1]==45)
    {
        n2--;
        m2=-1;
        x.strint.resize(n2);//消除负号
    }

    n=n1>n2?n1:n2;

//补齐字符串
    if(n==n1)
    {
        for(int i=0;i<n1-n2;i++) x.strint+="0";
    }
    else
    {
        for(int i=0;i<n2-n1;i++) t.strint+="0";
    }
//符号相同
        int tem;
        superint tm;
        for(int j=0;j<n;j++)
        {
            mark=0;
            tm.strint.clear();
            for(int k=0;k<j;k++) tm.strint+="0";
            for(int i=0;i<n;i++)
            {
                tem=char_to_int(t.strint[j])*char_to_int(x.strint[i])+mark;
                mark=tem/10;
                tem=tem%10;
                tm.strint+=int_to_char(tem);
            }
            tm.strint+=int_to_char(mark);
            remove0(tm.strint);
            convert(tm.strint);
            mul=mul+tm;
        }
//符号相异
    if(m1!=m2) mul=(-mul);

    return mul;
}
示例#27
0
int		put_ui_to_window(t_all *all)
{
    void		*mlx_i;
    double       	x = 0;
    int		y = 0;
    int		i;

    if (all->system.phase == 1)
    {
        if (all->p1.energy > all->p1.energy_max)
            all->p1.energy = all->p1.energy_max;
        if (all->p1.energy < 0)
            all->p1.energy = 0;
        if (all->p2.hp > all->p2.hp_max)
            all->p2.hp = all->p2.hp_max;
        if (all->p2.hp < 0)
            all->p1.energy = 0;
        if (all->p1.hp > all->p1.hp_max)
            all->p1.hp = all->p1.hp_max;
        if (all->p1.hp < 0)
            all->p1.hp = 0;
        if (all->p2.energy > all->p2.energy_max)
            all->p2.energy = all->p2.energy_max;
        if (all->p2.energy < 0)
            all->p2.energy = 0;
        mlx_i = mlx_new_image(all->system.mlx_p, 500, 140);
        while (x < 500)
        {
            mlx_pixel_put_to_image(mlx_i, x, y, 0xFFFFFF);
            mlx_pixel_put_to_image(mlx_i, x, y + 20, 0xFFFFFF);
            mlx_pixel_put_to_image(mlx_i, x, y + 40, 0xFFFFFF);
            mlx_pixel_put_to_image(mlx_i, x, y + 90, 0xFFFFFF);
            mlx_pixel_put_to_image(mlx_i, x++, y + 139, 0xFFFFFF);
        }
        x = 0;
        while (y < 140)
        {
            mlx_pixel_put_to_image(mlx_i, x, y, 0xFFFFFF);
            if (y > 40)
                mlx_pixel_put_to_image(mlx_i, x + 250, y, 0xFFFFFF);
            mlx_pixel_put_to_image(mlx_i, x + 499, y++, 0xFFFFFF);
        }
        y = 0;
        while (((500000 / all->p1.energy_max) * all->p1.energy) / 1000 > x && x < 501)
        {
            i = 21;
            while (i < 40)
                mlx_pixel_put_to_image(mlx_i, x, y + i++, 0xFFFF00);
            ++x;
        }
        x = 0;
        while ((all->p1.hp / (all->p1.hp_max / 500)) > x && x < 501)
        {
            i = 1;
            while (i < 20)
                mlx_pixel_put_to_image(mlx_i, x, y + i++, 0xFF0000);
            ++x;
        }
        put_enemy_ui(all);
        mlx_put_image_to_window(all->system.mlx_p, all->system.mlx_w, mlx_i, 0, 360);
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 230, 52, 0xFF0000, "ENEMY");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 200, 355, 0x00FFFF, "PLAYER (aka you)");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 85, 427, 0xFFFFFF, "Attack  [1]");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 320, 420, 0xFFFFFF, "Special punch  [2]");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 65, 470, 0xFFFFFF, "Use a bandage  [3]");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 83, 485, 0xFFFF00, "60 energy");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 335, 435, 0xFFFF00, "40 energy");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 335, 476, 0xFFFFFF, "Meditation  [4]");
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 240, 395, 0x555555, int_to_char(all->p1.energy));
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 237, 375, 0x555555, int_to_char(all->p1.hp));
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 235, 15, 0x555555, int_to_char(all->p2.energy));
        mlx_string_put(all->system.mlx_p, all->system.mlx_w, 232, 35, 0x555555, int_to_char(all->p2.hp));
        if (all->p1.meditate_last == 3)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 350, 350, 0xFFFFFF, "Meditation, 3 turns left");
        if (all->p1.meditate_last == 2)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 350, 350, 0xFFFFFF, "Meditation, 2 turns left");
        if (all->p1.meditate_last == 1)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 350, 350, 0xFFFFFF, "Meditation, 1 turns left");
        if (all->p2.meditate_last == 3)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 20, 70, 0xFFFFFF, "Meditation, 3 turns left");
        if (all->p2.meditate_last == 2)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 20, 70, 0xFFFFFF, "Meditation, 2 turns left");
        if (all->p2.meditate_last == 1)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 20, 70, 0xFFFFFF, "Meditation, 1 turns left");
        if (all->system.error_msg == 1)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 50, 250, 0xFF0000, "Not enough energy");
        all->system.error_msg = 0;
        if (all->system.enemy_choice != 0)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 157, 200, 0xFFFFFF, all->p2.name);
        if (all->system.enemy_choice == 1)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 187, 200, 0xFFFFFF, " attacks !");
        if (all->system.enemy_choice == 2)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 187, 200, 0xFFFFFF, " uses a special attack !");
        if (all->system.enemy_choice == 3)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 187, 200, 0xFFFFFF, " heals himself !");
        if (all->system.enemy_choice == 4)
            mlx_string_put(all->system.mlx_p, all->system.mlx_w, 187, 200, 0xFFFFFF, " uses meditation !");
    }
    if (all->p2.hp <= 0 || all->p1.hp <= 0)
        end_phase(all, 0);
}
示例#28
0
int	save(t_all *all)
{
    int	fd;
    char	x;

    fd = open("save.svg", O_WRONLY);
    if (fd == -1)
    {
        printf("Failed to save char.\n");
        return (-1);
    }
    x = '\n';
    write(fd, all->p1.name, my_strlen(all->p1.name));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.energy_max), my_strlen(int_to_char(all->p1.energy_max)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.hp_max), my_strlen(int_to_char(all->p1.hp_max)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.regen_base), my_strlen(int_to_char(all->p1.regen_base)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.xp), my_strlen(int_to_char(all->p1.xp)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.lvl), my_strlen(int_to_char(all->p1.lvl)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.damages), my_strlen(int_to_char(all->p1.damages)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.healing), my_strlen(int_to_char(all->p1.healing)));
    write(fd, &x, 1);
    write(fd, int_to_char(all->p1.crit), my_strlen(int_to_char(all->p1.crit)));
    write(fd, &x, 1);
    close(fd);
    return (0);
}
示例#29
0
void init_dicodecompress ( char* tab[N]){
	int i;
	for(i=0;i<255;i++){
		*tab[i]= int_to_char(i);}
}
示例#30
0
文件: convert.hpp 项目: saleyn/utxx
 static void save_itoa(Char*& bytes, long n, Char a_pad) {
     BOOST_ASSERT(n / 10 == 0);
     *bytes++ = int_to_char(n % 10);
 }