1.ÒýÑÔ
±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ³Ì
¶È£¬ÎÒÃÇÄÜÕæÕýдºÃÒ»¸östrcpyº¯ÊýÂð£¿ÎÒÃǶ¼¾õµÃ×Ô¼ºÄÜ£¬¿ÉÊÇÎÒÃÇд³öµÄstrcpyºÜ¿ÉÄÜÖ»ÄÜÄõ½10·ÖÖеÄ2·Ö¡£¶ÁÕß¿É´Ó±¾ÎÄ¿´µ½strcpy
º¯Êý´Ó2·Öµ½10·Ö½â´ðµÄÀý×Ó£¬¿´¿´×Ô¼ºÊôÓÚʲôÑùµÄ²ã´Î¡£´ËÍ⣬»¹ÓÐһЩÃæÊÔÌ⿼²éÃæÊÔÕßÃô½ÝµÄ˼άÄÜÁ¦¡£
·ÖÎöÕâЩÃæÊÔÌ⣬±¾Éí°üº¬ºÜÇ¿µÄȤζÐÔ£»¶ø×÷ΪһÃûÑз¢ÈËÔ±£¬Í¨¹ý¶ÔÕâЩÃæÊÔÌâµÄÉîÈëÆÊÎöÔò¿É½øÒ»²½ÔöÇ¿×ÔÉíµÄÄÚ¹¦¡£
2.ÕÒ´íÌâ
ÊÔÌâ1£º
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
ÊÔÌâ2£º
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1[i] = 'a'£»
}
strcpy( string, str1 )£»
}
ÊÔÌâ3£º
void ......
1.ÒýÑÔ
±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½ÁËÔõÑùµÄ³Ì
¶È£¬ÎÒÃÇÄÜÕæÕýдºÃÒ»¸östrcpyº¯ÊýÂð£¿ÎÒÃǶ¼¾õµÃ×Ô¼ºÄÜ£¬¿ÉÊÇÎÒÃÇд³öµÄstrcpyºÜ¿ÉÄÜÖ»ÄÜÄõ½10·ÖÖеÄ2·Ö¡£¶ÁÕß¿É´Ó±¾ÎÄ¿´µ½strcpy
º¯Êý´Ó2·Öµ½10·Ö½â´ðµÄÀý×Ó£¬¿´¿´×Ô¼ºÊôÓÚʲôÑùµÄ²ã´Î¡£´ËÍ⣬»¹ÓÐһЩÃæÊÔÌ⿼²éÃæÊÔÕßÃô½ÝµÄ˼άÄÜÁ¦¡£
·ÖÎöÕâЩÃæÊÔÌ⣬±¾Éí°üº¬ºÜÇ¿µÄȤζÐÔ£»¶ø×÷ΪһÃûÑз¢ÈËÔ±£¬Í¨¹ý¶ÔÕâЩÃæÊÔÌâµÄÉîÈëÆÊÎöÔò¿É½øÒ»²½ÔöÇ¿×ÔÉíµÄÄÚ¹¦¡£
2.ÕÒ´íÌâ
ÊÔÌâ1£º
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
ÊÔÌâ2£º
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1[i] = 'a'£»
}
strcpy( string, str1 )£»
}
ÊÔÌâ3£º
void ......
ÎÒ½«ÒµÎñ´úÂëÈ¥µôÁË£¬Ö»ÊÇÓÃÀ´´î¸ö»ù±¾¿ò¼Ü£¬Óõ½µÄʱºòÖ±½ÓÄÃÀ´ÓþͿÉÒÔÁË¡£(ÎÒÕâ¸öÊÇÆðÒ»¸ösocket)Èç¹ûÓÐʲô½¨ÒéÇëÁªÏµÎÒ¡£ChuangshengGuan@Gmail.com
main.c
Code:
#include "Services.h"
int main(int argc, char *argv[])
{
SERVICE_TABLE_ENTRY ServiceTable[2];
/* Ö¸Ïò±íʾ·þÎñÃû³Æ×Ö·û´®µÄÖ¸Õë,µ±¶¨ÒåÁ˶à¸ö·þÎñʱ£¬ÄÇôÕâ¸öÓò±ØÐëÖ¸¶¨ */
ServiceTable[0].lpServiceName = "SoftTokenAuth";
/* Ö¸Ïò·þÎñÖ÷º¯ÊýµÄÖ¸Õë(·þÎñÈë¿Úµã) */
ServiceTable[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)service_main;
ServiceTable[1].lpServiceName = NULL;
ServiceTable[1].lpServiceProc = NULL;
/* Æô¶¯·þÎñµÄ¿ØÖÆ·ÖÅÉ»úÏß³Ì */
StartServiceCtrlDispatcher(ServiceTable);
return 0;
}
services.c
Code:
SERVICE_STATUS ServiceStatus;
SERVICE_STATUS_HANDLE hStatus;
/* ¿ØÖƾä±ú */
void control_handler(DWORD request)
{
switch(request)
{
case SERVICE_ ......
Code:
1.»·¾³ÅäÖÃ
Ò»°ãÇé¿öÏ°²×°ÁËMySQLµÄ»úÆ÷ºÜÉÙ°²×°¿ª·¢°ü£¬Õâ¸öÐèҪעÒâ¡£Ò²¾ÍÊÇÄúÐèÒªÔÚ³ÌÐòÖаüº¬ÕâÑùµÄÓï¾ä£º
#include <mysql.h>
Èç¹ûÔÚ±àÒëµÄʱºòÌáʾº¬ÓÐÀàËÆÓÚÕÒ²»µ½ mysql.h µÄÐÅÏ¢£¬Õâ¾Í˵Ã÷ÄúûÓа²×°Ïà¹Ø¿ª·¢°ü¡£
»¹ÓÐÄú±ØÐ뽨Á¢Ò»¸öÊý¾Ý¿âÓëһЩ±í£¬Õâ¸öÔÚ±¾ÎÄÖлáʹÓá£
2.ÎÒÃÇÏÈÁ´½ÓÊý¾Ý¿â¡£
/****Á¬½Ó****Êý¾Ý¿â****/
#include <mysql.h> /*°üº¬Îļþ*/
MYSQL *myconnect = NULL; /*¶¨ÒåÒ»¸öMYSQLÀàÐ͵ÄÖ¸Õ룬Ëü´ú±íµÄÊÇMySQLÊý¾Ý¿âµÄ²Ù×÷¶ÔÏó*/
GtkWidget *disconnect (void) /*ÕâÀïÊÇÎÒÔÏÈÒ»¸ö³ÌÐòÖÐÓùýµÄº¯Êý£¬²¢²»ÊôÓÚ±¾ÎÄÖصã*/
{
char *user = "root", *pwd = "", *dbname = "test"; /*ÕâÀïÒª×÷Êʵ±Ð޸ģ¬ÓÃÊý¾Ý¿âÓû§root£¬Óû§ÃÜÂëΪ¿Õ£¬Á¬½ÓtestÊý¾Ý¿â*/
myconnect = mysql_init(myconnect); /*Óú¯Êýmysql_init³õʼ»¯myconnect*/
if (mysql_real_connect (myconnect, "localhost", user, pwd,dbname,MYSQL_PORT,NULL,0)== NULL)
{
error("δÄÜÁ¬½ÓÉÏÊý¾Ý¿â.");
}
/*Óú¯Êýmysql_real_connectÁ¬½ÓÊý¾Ý¿â£¬ËüÐèÒª8¸ö²ÎÊý£¬ÓëÒÔÉ϶ÔÓ¦· ......
Code:
1.»·¾³ÅäÖÃ
Ò»°ãÇé¿öÏ°²×°ÁËMySQLµÄ»úÆ÷ºÜÉÙ°²×°¿ª·¢°ü£¬Õâ¸öÐèҪעÒâ¡£Ò²¾ÍÊÇÄúÐèÒªÔÚ³ÌÐòÖаüº¬ÕâÑùµÄÓï¾ä£º
#include <mysql.h>
Èç¹ûÔÚ±àÒëµÄʱºòÌáʾº¬ÓÐÀàËÆÓÚÕÒ²»µ½ mysql.h µÄÐÅÏ¢£¬Õâ¾Í˵Ã÷ÄúûÓа²×°Ïà¹Ø¿ª·¢°ü¡£
»¹ÓÐÄú±ØÐ뽨Á¢Ò»¸öÊý¾Ý¿âÓëһЩ±í£¬Õâ¸öÔÚ±¾ÎÄÖлáʹÓá£
2.ÎÒÃÇÏÈÁ´½ÓÊý¾Ý¿â¡£
/****Á¬½Ó****Êý¾Ý¿â****/
#include <mysql.h> /*°üº¬Îļþ*/
MYSQL *myconnect = NULL; /*¶¨ÒåÒ»¸öMYSQLÀàÐ͵ÄÖ¸Õ룬Ëü´ú±íµÄÊÇMySQLÊý¾Ý¿âµÄ²Ù×÷¶ÔÏó*/
GtkWidget *disconnect (void) /*ÕâÀïÊÇÎÒÔÏÈÒ»¸ö³ÌÐòÖÐÓùýµÄº¯Êý£¬²¢²»ÊôÓÚ±¾ÎÄÖصã*/
{
char *user = "root", *pwd = "", *dbname = "test"; /*ÕâÀïÒª×÷Êʵ±Ð޸ģ¬ÓÃÊý¾Ý¿âÓû§root£¬Óû§ÃÜÂëΪ¿Õ£¬Á¬½ÓtestÊý¾Ý¿â*/
myconnect = mysql_init(myconnect); /*Óú¯Êýmysql_init³õʼ»¯myconnect*/
if (mysql_real_connect (myconnect, "localhost", user, pwd,dbname,MYSQL_PORT,NULL,0)== NULL)
{
error("δÄÜÁ¬½ÓÉÏÊý¾Ý¿â.");
}
/*Óú¯Êýmysql_real_connectÁ¬½ÓÊý¾Ý¿â£¬ËüÐèÒª8¸ö²ÎÊý£¬ÓëÒÔÉ϶ÔÓ¦· ......
1¡¢Á½¸öfloatÐÍÊý¾ÝÏà¼Ó£¬Ò²¶¼ÏÈת»¯³ÉdoubleÐÍ£¬È»ºóÔÙÏà¼Ó£¬ÒÔÌá¸ßÔËË㾫¶È¡£
2¡¢Çó×Ö½ÚÔËËã·ûsizeof£¬¼ÇסËü²»ÊÇÒ»¸öº¯Êý¡£
3¡¢++£¬--ÔËËã·ûÖ»ÄÜÓÃÓÚ±äÁ¿£¬¶ø²»ÄÜÓÃÓÚ³£Á¿»òÕß±í´ïʽ¡£
4¡¢++£¬--µÄ½áºÏ·½ÏòÊÇ“×ÔÓÒÏò×ó”¡£
int i=3;
cout<<-i++<<endl;
cout<<i<<endl;
µ«ÉÏÃæµÄ³ÌÐò¶ÎµÄÊä³öÊÇ£º-3 4,˵Ã÷ËäÈ»¸ººÅÔËËã·ûºÍ++ÔËËã·ûͬÓÅÏȼ¶£¬ÇÒ¶¼ÊÇÓÒ½áºÏÐÔ£¬µ«ÊÇ×ÔÔöÔËËã·ûÔÚ±äÁ¿ºóÃæÔò¿Ï¶¨ÊÇÏÈÓúó¼ÓµÄ¡£
5¡¢¶à¸öcaseÓï¾ä¿ÉÒÔ¹²ÓÃÒ»×éÖ´ÐÐÓï¾ä£¬È磺
case 'A':
case 'B':
case 'C':printf();break;
ֵΪ'A'¡¢'B'¡¢'C'ʱ¶¼Ö´ÐÐͬһ×éÓï¾ä¡£
......
PART (1)
/*
===============================================
¾µäÅÅÐò˼Ï룬²¢ÓÃCÓïÑÔÖ¸ÕëʵÏÖÅÅÐòËã·¨
================================================
*/
/*
=============================================================================
Ïà¹Ø֪ʶ½éÉÜ£¨ËùÓж¨ÒåֻΪ°ïÖú¶ÁÕßÀí½âÏà¹Ø¸ÅÄ²¢·ÇÑϸñ¶¨Ò壩£º
1¡¢Îȶ¨ÅÅÐòºÍ·ÇÎȶ¨ÅÅÐò
¼òµ¥µØ˵¾ÍÊÇËùÓÐÏàµÈµÄÊý¾¹ýijÖÖÅÅÐò·½·¨ºó£¬ÈÔÄܱ£³ÖËüÃÇÔÚÅÅÐò֮ǰµÄÏà¶Ô´ÎÐò£¬ÎÒÃǾÍ
˵ÕâÖÖÅÅÐò·½·¨ÊÇÎȶ¨µÄ¡£·´Ö®£¬¾ÍÊÇ·ÇÎȶ¨µÄ¡£
±ÈÈ磺һ×éÊýÅÅÐòÇ°ÊÇa1,a2,a3,a4,a5£¬ÆäÖÐa2=a4£¬¾¹ýijÖÖÅÅÐòºóΪa1,a2,a4,a3,a5£¬
ÔòÎÒÃÇ˵ÕâÖÖÅÅÐòÊÇÎȶ¨µÄ£¬ÒòΪa2ÅÅÐòÇ°ÔÚa4µÄÇ°Ã棬ÅÅÐòºóËü»¹ÊÇÔÚa4µÄÇ°Ãæ¡£¼ÙÈç±ä³Éa1,a4,
a2,a3,a5¾Í²»ÊÇÎȶ¨µÄÁË¡£
2¡¢ÄÚÅÅÐòºÍÍâÅÅÐò
ÔÚÅÅÐò¹ý³ÌÖУ¬ËùÓÐÐèÒªÅÅÐòµÄÊý¶¼ÔÚÄڴ棬²¢ÔÚÄÚ´æÖе÷ÕûËüÃǵĴ洢˳Ðò£¬³ÆΪÄÚÅÅÐò£»
ÔÚÅÅÐò¹ý³ÌÖУ¬Ö»Óв¿·ÖÊý±»µ÷ÈëÄڴ棬²¢½èÖúÄÚ´æµ÷ÕûÊýÔÚÍâ´æÖеĴæ·Å˳ÐòÅÅÐò·½·¨³ÆΪÍâÅÅÐò¡£
3¡¢Ëã·¨µÄʱ¼ä¸´ÔӶȺͿռ临ÔÓ¶È
ËùνËã·¨µÄʱ¼ä¸´ÔӶȣ¬ÊÇÖ¸Ö´ÐÐËã·¨ËùÐèÒªµÄ¼ÆË㹤×÷Á¿¡£
Ò»¸öËã·¨µÄ ......
µ±Òª½¨Á¢Ï̵߳Èʱ£¬ÔÚLinuxÏ£¬ÓÃÎı¾±à¼£¬ÔÚ¼üÈë“g++ -lpthread”.......“¿ÉÒÔ°Ñ¿âpthreadÒýÈ딣¬±àÒëͨ¹ý¡£ÏÖÔÚÏëÓÃeclipse£¬µ«ÊÇĬÈÏÇé¿öÏ£¬ÒýÈë²»ÁËpthread¡£»á±¨“undefined reference to phread_create”µÈ´íÎó¡£
½â¾ö·½·¨£º¿ÉÒÔÔÚprojectÖкõ½properties
ÔÚÀïÃæµÄ“Tool Settings”£»ÀïÕÒµ½“GCC C++ Linker”¡£
ÔÚÆäÖеēLibraries”ÉÏÌí¼Ó“pthread”£¬°´“ok”£¬ÖØбàÒë¾Í¿ÉÒÔÁË¡£ ......
µ±Òª½¨Á¢Ï̵߳Èʱ£¬ÔÚLinuxÏ£¬ÓÃÎı¾±à¼£¬ÔÚ¼üÈë“g++ -lpthread”.......“¿ÉÒÔ°Ñ¿âpthreadÒýÈ딣¬±àÒëͨ¹ý¡£ÏÖÔÚÏëÓÃeclipse£¬µ«ÊÇĬÈÏÇé¿öÏ£¬ÒýÈë²»ÁËpthread¡£»á±¨“undefined reference to phread_create”µÈ´íÎó¡£
½â¾ö·½·¨£º¿ÉÒÔÔÚprojectÖкõ½properties
ÔÚÀïÃæµÄ“Tool Settings”£»ÀïÕÒµ½“GCC C++ Linker”¡£
ÔÚÆäÖеēLibraries”ÉÏÌí¼Ó“pthread”£¬°´“ok”£¬ÖØбàÒë¾Í¿ÉÒÔÁË¡£ ......
µ±Òª½¨Á¢Ï̵߳Èʱ£¬ÔÚLinuxÏ£¬ÓÃÎı¾±à¼£¬ÔÚ¼üÈë“g++ -lpthread”.......“¿ÉÒÔ°Ñ¿âpthreadÒýÈ딣¬±àÒëͨ¹ý¡£ÏÖÔÚÏëÓÃeclipse£¬µ«ÊÇĬÈÏÇé¿öÏ£¬ÒýÈë²»ÁËpthread¡£»á±¨“undefined reference to phread_create”µÈ´íÎó¡£
½â¾ö·½·¨£º¿ÉÒÔÔÚprojectÖкõ½properties
ÔÚÀïÃæµÄ“Tool Settings”£»ÀïÕÒµ½“GCC C++ Linker”¡£
ÔÚÆäÖеēLibraries”ÉÏÌí¼Ó“pthread”£¬°´“ok”£¬ÖØбàÒë¾Í¿ÉÒÔÁË¡£ ......