[C/C++] °ÑÒ»¸öÕûÐÍÕûÊýת³É×Ö·û´®
ÎÊÌâÃèÊö£ºÐ´Ò»¸öº¯Êý£¬½ÓÊÜÒ»¸öÕûÊý£¨¼Ù¶¨ÓÃint±íʾ£©£¬Êä³ö¸ÃÕûÊýµÄ×Ö·û´®ÐÎʽ¡£²ÉÓÃÈçϺ¯ÊýÔÐÍ£º
void itoa ( int val, char* buf );
ÕâÀï¼Ù¶¨buf×ã¹»´óÒÔÈÝÄÉÈκÎintÀàÐÍÊýÖµµÄ×Ö·û´®¡£
Õâ¸öÎÊÌ⣬³õ¿´ºÃÏñûÓÐʲôÄѶȡ£Èç¹ûÊÇ0£¬¾ÍÖ±½ÓÊä³ö'0'£»Èç¹ûÊÇÕýÊý£¬¾Íͨ¹ýȡģ(%)ºÍÇóÉÌ(/)ÔËËã¿ÉÒÔÖðλȡµÃ¸ÃÕûÊýµÄÊý×Ö£¬²¢°ÑËüÃǷŵ½bufÖÐÈ¥£»Èç¹ûÊǸö¸ºÊý£¬¾ÍÏÈת³ÉÕýµÄ£¬È»ºóÔÚ×îºóÊä³öʱ¼ÓÈ븺ºÅ¡£°´ÕÕÕâ¸ö˼·£¬¿ÉÒÔдÏÂÈçÏ´úÂ룺
void itoa_flawed(int val, char* buf)
{
// deal with special case
if(val == 0)
{
buf[0] = '0';
buf[1] = '\0';
return;
}
bool negative = (val < 0);
int abs_val = negative ? -val : val;
unsigned int char_cnt = 0;
while(abs_val > 0)
{
buf[char_cnt] = abs_val % 10 + '0';
char_cnt ++;
abs_val = abs_val / 10;
}
if(negative) buf[char_cnt++] = '-';
//reverse the string
unsigned int i = 0;
while(i < char_cnt / 2)
{
char temp = buf[i];
buf[i] = buf[char_cnt-i-1];
buf[char_cnt-i-1] = temp;
i++;
}
buf[char_cnt] = '\0';
}
Ò»Çп´ÆðÀ´¶¼Ã»ÓÐÎÊÌâ¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÕâÑùµ÷Óøú¯ÊýµÄ»°£¬²Â²Â»áÊä³öʲô£º
char buf[40];
itoa_flawed(1 << 31,buf);
cout<<buf;
ÎÒÃǵõ½µÄÊÇ"-"¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿´ó¼ÒÇë×¢ÒâµÚ11ÐдúÂë¡£µ±ÎÒÃÇÇóÒ»¸ºÊýµÄ¾ø¶Ôֵʱ£¬Èç¹û»¹ÊÇÓÃÔÀ´´óСµÄÓзûºÅÀàÐÍʱ£¬¿ÉÄÜ»á²úÉúÒç³ö£¡ÎÒÃÇÖªµÀ£¬intÀàÐÍÖ»Äܱíʾ-231
~ 231
-1
Ö®¼äµÄÊýÖµ¡£Èç¹ûÎÒÃǶÔ-231
Çó¾ø¶ÔÖµ²¢°ÑËü´æ·Åµ½intÀàÐ͵ıäÁ¿ÖУ¬»á·¢ÉúʲôÇé¿ö£¿·ÖÎöµ½ÕâÀ´ó¼Ò¶¼Ó¦¸ÃÇå³þÁ˰ɣ¡
Õâ¸öbugÊǺÜÒþ±ÎµÄ¡£ÎÒÔÚÍøÉÏ¿´µ½µÄ´úÂë»ù±¾É϶¼ºÍÉÏÃæ¸ø³öµÄ²î²»¶à£¬Ã»Óп¼ÂÇÕâ¸ö¿ÉÄܵÄÒç³öÎÊÌâ¡£ÐÞÕýµÄ°ì·¨£¬¾ÍÊÇÓøü´óµÄÀàÐÍÀ´´æ·Å¾ø¶ÔÖµ¡£¹Û²ìµ½¾ø¶ÔÖµÊǷǸºµÄ£¬ÎÒÃÇ¿ÉÒÔÓÃÒ»¸öunsigned int
À´±íʾ¾ø¶ÔÖµ£¬ÕâÑù¾Í²»»áÓÐÎÊÌâÁË¡£
Õâ¸öÌâÄ¿¸øÎ񵀮ôʾÊÇ£¬ËäÈ»¿´ÆðÀ´¼òµ¥µÄÌâÄ¿£¬Ò²¿ÉÄÜÓкܴóµÄÏÝÚå¡£Èç¹ûÕâÊÇÒ»µÀÃæÊÔÌâµÄ»°£¬¹À¼ÆÍêÈ«×ö¶ÔµÄ²»¶à£¬¿ÉÄÜÒ²°üÀ¨ÏÖ³¡µÄÎÒÔÚÄÚ¡£
Ïà¹ØÎĵµ£º
setitimer()ΪLinuxµÄAPI£¬²¢·ÇCÓïÑÔµÄStandard Library£¬setitimer()ÓÐÁ½¸ö¹¦ÄÜ£¬Ò»ÊÇÖ¸¶¨Ò»¶Îʱ¼äºó£¬²ÅÖ´ÐÐij¸öfunction£¬¶þÊÇÿ¼ä¸ñÒ»¶Îʱ¼ä¾ÍÖ´ÐÐij¸öfunction£¬ÒÔϳÌÐòdemoÈçºÎʹÓÃsetitimer()¡£
/*
......
1. ³õʼ»¯Ò»¸öÁ¬½Ó¾ä±ú
MYSQL *mysql_init(MYSQL *);
ÕýÈ·£º·µ»ØÒ»¸öÖ¸ÏòзÖÅäµÄÁ´½Ó¾ä±ú½á¹¹µÄÖ¸Õë
´íÎó£ºNULL
×¢£º¸Ãº¯ÊýµÄ´«Èë²ÎÊýͨ³£ÎªNULL¼´¿É¡£
2. ½¨Á¢ÎïÀíÁ¬½Ó
MYSQL *mysql_real_connect(MYSQL *connect ......
×î½ü¾³£¿´µ½ÍøÓÑÃDZ§Ô¹ÓÉÓÚ²Ù×÷²»µ±£¬Ê¹ÓÃGHOST»Ö¸´ÏµÍ³ºó·ÖÇø²»¼ûÁË£¬»úÒ²ËÀÁË£¬¼¸ÄêÐÁÐÁ¿à¿àÊղصĶ«¶«Ò²²»¼ûÁË£¬¼¸ºõÌìÌì¶¼ÓÐÈËÉÏÍøÇóÖú£¬¸ßÊÖ´óÏÀÃÇÕûÌìæÓÚвúÆ·µÄ¿ª·¢£¬²»¿ÉÄÜÓиü¶àʱ¼ä¼°Ê±Ò»Ò»½â´ðÍøÓÑÃǵÄËùÌá³öµÄÎÊÌ⣬Òò´ËÎÒÔÚÍøÉÏ¿´µ½ÁËÕâ¸öÈí¼þ,ÏÖÍÆ¼ö¸ø´ó¼ÒʹÓÃ.
ÒÔÏÂÊÇÒ»¸ö¸ßÊֵĴ¦ÀíÕâÀàʹʵľ¹ý
&nb ......
.hÖÐÒ»°ã·ÅµÄÊÇͬÃû.cÎļþÖж¨ÒåµÄ±äÁ¿¡¢Êý×é¡¢º¯ÊýµÄÉùÃ÷£¬ÐèÒªÈÃ.cÍⲿʹÓõÄÉùÃ÷¡£
1)hÎļþ×÷ÓÃ
1 ·½±ã¿ª·¢:°üº¬Ò»Ð©ÎļþÐèÒªµÄ¹²Í¬µÄ³£Á¿,½á¹¹,ÀàÐͶ¨Òå,º¯Êý,±äÁ¿ÉêÃ÷£»
2 Ìṩ½Ó¿Ú:¶ÔÒ»¸öÈí¼þ°üÀ´Ëµ¿ÉÒÔÌṩһ¸ö¸øÍâ½çµÄ½Ó¿Ú(ÀýÈç: stdio.h)¡£
2)hÎļþÀïÓ¦¸ÃÓÐʲô
³£Á¿,½á¹¹,ÀàÐ ......
ÔÚÍøÉÏÕÒµ½µÄÒ»¸ö³ÌÐò
[c]
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* È¡×Ó´®µÄº¯Êý */
static char* substr(const char*str,unsigned start, unsigned end)
{
unsigned n = end - start;
static char stbuf[256]; ......