atoi perl ¹öÁ¯
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>JPerl>atoi



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

¼³¸í

C¿¡¼­ ¹®ÀÚ ¼ýÀÚ¸¦ intÇüÀ¸·Î º¯°æÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â atoi(3)ÇÔ¼öÀÇ perl¹öÁ¯ÀÔ´Ï´Ù. ÀÎÅÍ³Ý µ¹¾Æ´Ù´Ï´Ù°¡ ÁÖ¿ö³í°É ¿Ã¸³´Ï´Ù.

»ç¿ë¹æ¹ý

$str = "12345"; 
$num = atoi($str); 
 


ÄÚµå

sub atoi 
{ 
    my $num; 
    foreach my $d (split(//, shift())) 
    { 
        $num = $num * 10 + $d; 
    } 
    return $num; 
} 
 

ÄÚµå C¹öÁ¯

/* 
 Copyright (C) Information Equipment co.,LTD. 
 All rights reserved. 
 Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> 
 CVSTAG="$Header: /usr/local/mutihost/joinc/modules/moniwiki/data/text/RCS/Code_2fJPerl_2fatoi,v 1.2 2007/11/28 04:37:55 root Exp root $" 
*/ 
 
#include <stdio.h> 
 
#define def_atoi_base         (10) 
#define mz_is_space(m_byte)   (((m_byte) == ' ') || ((m_byte) == '\t')) 
#define mz_is_decimal(m_byte) (((m_byte) >= '0') && ((m_byte) <= '9')) 
#define mz_to_num(m_byte)     ((m_byte) - '0') 
 
long int mz_strtol(const char *s_string, char **s_endptr, int s_base) 
{ 
 long int s_result = 0l, s_power = 0l; 
 int s_is_minus; 
 const char *s_entry; 
 while(mz_is_space(*s_string))s_string++; /* Skip <SPACE> */ 
 if(*s_string == '+'){s_is_minus = 0; s_string++;} /* '+' */ 
 else if(*s_string == '-'){s_is_minus = 1; s_string++;} /* '-' */ 
 else s_is_minus = 0; /* Default '+' */ 
 while(*s_string == '0')s_string++; /* Skip '0' */ 
 s_entry = s_string; 
 while(mz_is_decimal(*s_string)) 
 { /* power max */ 
  s_power = (s_power == 0l) ? 1l : (s_power * ((long int)s_base)); 
  s_string++; 
 } 
 s_string = s_entry; 
 while(mz_is_decimal(*s_string)) 
 { 
  s_result += ((long int)mz_to_num(*s_string)) * s_power; 
  s_power /= (long int)s_base; 
  s_string++; 
 } 
 if(s_endptr != ((char **)0))*s_endptr = (char *)s_string; 
 return(s_is_minus == 0 ? s_result : -s_result); 
} 
 
int mz_atoi(const char *s_string) 
{ return((int)mz_strtol(s_string, (char **)0, def_atoi_base)); } 
 
long mz_atol(const char *s_string) 
{ return((long)mz_strtol(s_string, (char **)0, def_atoi_base)); } 
 
int main(int s_argc, char **s_argv) 
{ 
 int s_index; 
 if(s_argc >= 2) 
 { 
  for(s_index = 1;s_index < s_argc;s_index++) 
   (void)fprintf(stdout, "%d = mz_atoi(\"%s\");\n", mz_atoi(s_argv[s_index]), s_argv[s_index]); 
 } 
 else (void)fprintf(stdout, "usage: atoi <string> [...]\nexample: atoi 1234 -1234\n"); 
 return(0); 
} 
 
/* End of source */ 
 

º¯°æ»çÇ×

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.