锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 2錛庝竴涓被鎷瘋礉鐨勫嚱鏁幫紝瑕佹眰鐢–鍐?br />渚嬪錛?br />class A { class B { int main() {
鏉ヨ嚜:bookread
姝や功鏋跺287浜洪噷鐨?span id=pp>208浜烘湁鐢?
C紼嬪簭璁捐鏁欑▼
錛堢編錛塇.M.Deitel絳夎憲 钖涗竾楣忕瓑璇?/ 2000騫?鏈?/ 鏈烘宸ヤ笟鍑虹増紺?/ 33鍏?/ 787*1092 1/16 /
C闄烽槺涓庣己闄?/a>
Andrew Koenig钁?楂樺穽璇?/ 2002騫?1鏈?/ 浜烘皯閭數(shù)鍑虹増紺?/ 30鍏?/ 720*980 1/16 /
C璇█鎺ュ彛涓庡疄鐜扳斺斿垱寤哄彲閲嶇敤杞歡鐨勬妧鏈?/a>
[緹嶿姹夋. 钁楋紝鍌呰搲絳?璇?/ 01 1 2004 12:00AM / 鏈烘宸ヤ笟鍑虹増紺?/ 35鍏?/ 787*1092 1/16 /
C璇█鍙傝冩墜鍐岋紙鍘熶功絎?鐗堬級(jí)
錛堢編錛塖amuel P.Harbison III/Guy L.Steele Jr.钁?閭變徊娼樼瓑璇?/ 2003騫?鏈?/ 鏈烘宸ヤ笟鍑虹増紺?/ 39鍏?/ 787*1092 1/16 /
C璇█鍙傝冩墜鍐岋紙絎簲鐗堬級(jí)錛堣嫳鏂囩増錛?/a>
鍝堟瘮媯紝鏂拏灝?钁?/ 06 1 2003 12:00AM / 浜烘皯閭數(shù)鍑虹増紺?/ 45鍏?/ 16寮 /
C涓撳緙栫▼
Peter Van Der Linden钁?寰愭嘗璇?/ 2002騫?2鏈?/ 浜烘皯閭數(shù)鍑虹増紺?/ 40鍏?/ 800*1000 1/16 /
C紼嬪簭璁捐璇█錛堢2鐗?#183;鏂扮増錛変範(fàn)棰樿В絳?/a>
[緹嶿姹ゆ湹錛孾緹嶿鍚夌背鎷滃皵 钁楋紝鏉ㄦ稕絳?璇?/ 01 1 2004 12:00AM / 鏈烘宸ヤ笟鍑虹増紺?/ 15鍏?/ 787*1092 1/16 /
C紼嬪簭璁捐璇█(絎?鐗?#183;鏂扮増)
錛堢編錛夊厠灝兼眽錛岋紙緹庯級(jí)閲屽 钁楋紝寰愬疂鏂囷紝鏉庡織 璇?/ 01 1 2004 12:00AM / 鏈烘宸ヤ笟鍑虹増紺?/ 30鍏?/ 787*1092 1/16 /
C紼嬪簭璁捐璇█絎簩鐗堜範(fàn)棰樿В絳旓紙絎簩鐗?錛堣嫳鏂囧獎(jiǎng)鍗扮増錛?/a>
Clovis L.Tondo,Scott E.Gimpel / 2000-3-1 / 娓呭崕澶у鍑虹増紺?/ 12鍏?/
C紼嬪簭璁捐璇█
Brian W.Kernighan / 1997騫?鏈?/ 娓呭崕澶у鍑虹増紺?/ 0鍏?/ 850*1168 1/32 /
]]>
http://blog.csdn.net/ruibird/archive/2007/03/31/1547882.aspx
]]>
http://www.vckbase.com/document/viewdoc/?id=957
]]>
{
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)int a,b;
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)int i;
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)a=b=1;
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)for(i=1;i<100;i++)
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng){
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng) printf("%4d%4d",a,b);
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng) a+=b;
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng) 聽(tīng) b+=a;
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)}
聽(tīng) 聽(tīng)聽(tīng) 聽(tīng)聽(tīng)聽(tīng)printf("\n");
}
]]>
聽(tīng) #include 聽(tīng) <conio.h> 聽(tīng)
聽(tīng) #include 聽(tīng) <stdarg.h> 聽(tīng)
聽(tīng) #include 聽(tīng) <stdio.h> 聽(tīng)
聽(tīng) #include 聽(tīng) <stdlib.h> 聽(tīng)
聽(tīng) #include 聽(tīng) "winsock.h" 聽(tīng)
聽(tīng) #include 聽(tīng) "mysql.h" 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) MYSQL 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *mysql 聽(tīng) = 聽(tīng) NULL; 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) void 聽(tīng) MySQLError(void) 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) fprintf(stderr, 聽(tīng) "%s\n", 聽(tīng) mysql_error(mysql)); 聽(tīng)
聽(tīng) exit(1); 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) void 聽(tīng) ExecuteSQL(char 聽(tīng) *fmt, 聽(tīng) ...) 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) char 聽(tīng) SQL[1000] 聽(tīng) = 聽(tīng) {0}; 聽(tīng)
聽(tīng) int 聽(tīng) 聽(tīng) retval; 聽(tīng)
聽(tīng) va_list 聽(tīng) args; 聽(tīng)
聽(tīng) va_start(args, 聽(tīng) fmt); 聽(tīng)
聽(tīng) if 聽(tīng) (_vsnprintf(SQL, 聽(tīng) sizeof(SQL)-1, 聽(tīng) fmt, 聽(tīng) args) 聽(tīng) < 聽(tīng) 0) 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) fprintf(stderr, 聽(tīng) "SQL 聽(tīng) query 聽(tīng) truncated! 聽(tīng) Increase 聽(tīng) SQL 聽(tīng) buffer 聽(tīng) size 聽(tīng) in 聽(tīng) ExecuteSQL\n"); 聽(tīng)
聽(tīng) exit(1); 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) va_end(args); 聽(tīng)
聽(tīng) retval 聽(tīng) = 聽(tīng) mysql_query(mysql, 聽(tīng) SQL); 聽(tīng)
聽(tīng) if 聽(tīng) (retval) 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) fprintf(stderr, 聽(tīng) "Original 聽(tīng) SQL 聽(tīng) Statement: 聽(tīng) %s\n", 聽(tīng) SQL); 聽(tīng)
聽(tīng) fprintf(stderr, 聽(tīng) "%s\n", 聽(tīng) mysql_error(mysql)); 聽(tīng)
聽(tīng) exit(2); 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) int 聽(tīng) main() 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) UINT 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) i; 聽(tīng)
聽(tīng) UINT 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) FieldCount; 聽(tīng)
聽(tīng) MYSQL_RES 聽(tīng) 聽(tīng) 聽(tīng) *res 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) NULL; 聽(tīng)
聽(tīng) MYSQL_ROW 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) row 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) NULL; 聽(tīng)
聽(tīng) MYSQL_FIELD 聽(tīng) *field; 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *DBName 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) "Test"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *TableName 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) "People"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *CreateDB 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) "CREATE 聽(tīng) DATABASE 聽(tīng) IF 聽(tīng) NOT 聽(tīng) EXISTS 聽(tīng) %s"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *DropTable 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) "DROP 聽(tīng) TABLE 聽(tīng) IF 聽(tīng) EXISTS 聽(tīng) %s"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *CreateTable 聽(tīng) = 聽(tīng) "CREATE 聽(tīng) TABLE 聽(tīng) IF 聽(tīng) NOT 聽(tīng) EXISTS 聽(tīng) %s 聽(tīng) (\n" 聽(tīng)
聽(tīng) 聽(tīng) "ID 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) INT 聽(tīng) UNSIGNED 聽(tīng) AUTO_INCREMENT, 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "FirstName 聽(tīng) 聽(tīng) VARCHAR(32), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "MiddleName 聽(tīng) VARCHAR(32), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "LastName 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(32), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Address1 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Address2 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "City 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "State 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(2), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Zip 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(5), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Email 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Gender 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) VARCHAR(1), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "WorkPhone 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "HomePhone 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "CellPhone 聽(tīng) 聽(tīng) VARCHAR(50), 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "BirthDate 聽(tīng) 聽(tīng) DATE 聽(tīng) NULL, 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) "Primary 聽(tīng) Key 聽(tīng) (ID) 聽(tīng) \n" 聽(tīng)
聽(tīng) 聽(tīng) ")\n"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *AddRecord 聽(tīng) 聽(tīng) 聽(tīng) = 聽(tīng) "INSERT 聽(tīng) INTO 聽(tīng) %s 聽(tīng) (FirstName, 聽(tīng) LastName) 聽(tīng) VALUES 聽(tīng) ('FirstName 聽(tīng) %03d', 聽(tīng) 'LastName 聽(tīng) %03d')"; 聽(tīng)
聽(tīng) char 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) 聽(tīng) *GetRecords 聽(tīng) 聽(tīng) = 聽(tīng) "SELECT 聽(tīng) ID, 聽(tīng) FirstName, 聽(tīng) LastName 聽(tīng) FROM 聽(tīng) %s"; 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Initialize 聽(tīng) MySQL 聽(tīng)
聽(tīng) mysql 聽(tīng) = 聽(tīng) mysql_init(NULL); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Connect 聽(tīng) to 聽(tīng) MySQL 聽(tīng)
聽(tīng) if 聽(tīng) (!(mysql_real_connect(mysql, 聽(tīng) "localhost", 聽(tīng) "admin", 聽(tīng) "", 聽(tīng) NULL, 聽(tīng) mysql->port, 聽(tīng) 0, 聽(tīng) 0))) 聽(tīng) 聽(tīng)
聽(tīng) MySQLError(); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Create 聽(tīng) database 聽(tīng)
聽(tīng) ExecuteSQL(CreateDB, 聽(tīng) DBName); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Connect 聽(tīng) to 聽(tīng) temporary 聽(tīng) database 聽(tīng)
聽(tīng) if 聽(tīng) (mysql_select_db(mysql, 聽(tīng) DBName)) 聽(tīng)
聽(tīng) MySQLError(); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Delete 聽(tīng) table 聽(tīng) if 聽(tīng) it 聽(tīng) already 聽(tīng) exists. 聽(tīng)
聽(tīng) ExecuteSQL(DropTable, 聽(tīng) TableName); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Create 聽(tīng) table 聽(tīng)
聽(tīng) ExecuteSQL(CreateTable, 聽(tīng) TableName); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Insert 聽(tīng) some 聽(tīng) data 聽(tīng) into 聽(tīng) the 聽(tīng) table. 聽(tīng)
聽(tīng) for 聽(tīng) (i 聽(tīng) = 聽(tīng) 0; 聽(tīng) i 聽(tīng) < 聽(tīng) 200; 聽(tīng) i++) 聽(tīng)
聽(tīng) ExecuteSQL(AddRecord, 聽(tīng) TableName, 聽(tīng) i, 聽(tīng) i); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Execute 聽(tīng) query 聽(tīng)
聽(tīng) ExecuteSQL(GetRecords, 聽(tīng) TableName); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Store 聽(tīng) the 聽(tīng) recordset 聽(tīng)
聽(tīng) if 聽(tīng) ((res 聽(tīng) = 聽(tīng) mysql_store_result(mysql)) 聽(tīng) == 聽(tīng) NULL) 聽(tīng)
聽(tīng) MySQLError(); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Print 聽(tīng) the 聽(tīng) recordset 聽(tīng)
聽(tīng) printf("Table 聽(tīng) %s\n", 聽(tīng) TableName); 聽(tīng)
聽(tīng) while((field 聽(tīng) = 聽(tīng) mysql_fetch_field(res)) 聽(tīng) != 聽(tīng) NULL) 聽(tīng)
聽(tīng) printf("%s\t", 聽(tīng) field->name); 聽(tīng)
聽(tīng) printf("\n"); 聽(tīng)
聽(tīng) FieldCount 聽(tīng) = 聽(tīng) mysql_num_fields(res); 聽(tīng)
聽(tīng) while((row 聽(tīng) = 聽(tīng) mysql_fetch_row(res)) 聽(tīng) != 聽(tīng) NULL) 聽(tīng) 聽(tīng)
聽(tīng) { 聽(tīng)
聽(tīng) for 聽(tīng) (i 聽(tīng) = 聽(tīng) 0; 聽(tīng) i 聽(tīng) < 聽(tīng) FieldCount; 聽(tīng) i++) 聽(tīng) 聽(tīng)
聽(tīng) printf("%s\t", 聽(tīng) row[i]); 聽(tīng)
聽(tīng) printf("\n"); 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) printf("\nTotal 聽(tīng) rows: 聽(tīng) %d\n", 聽(tīng) mysql_num_rows(res)); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Free 聽(tīng) the 聽(tīng) recordset 聽(tīng)
聽(tīng) mysql_free_result(res); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) // 聽(tīng) Close 聽(tīng) the 聽(tīng) connection 聽(tīng)
聽(tīng) mysql_close(mysql); 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) printf("\nPrint 聽(tīng) any 聽(tīng) key 聽(tīng) to 聽(tīng) continue...\n"); 聽(tīng)
聽(tīng) getche(); 聽(tīng)
聽(tīng) } 聽(tīng)
聽(tīng) 聽(tīng)
聽(tīng) 濡傛灉鏈夐棶棰橈紝璇峰姞鍏ysql++.lib聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng) void mysql_close(MYSQL *connection);鍏抽棴涓涓繛鎺ャ?br />3錛屄?tīng)聽(tīng)聽(tīng)聽(tīng)?鎵цSQL璇彞
mysql_select_db錛圡YSQL *connection,const char *db_name錛?閫夊畾鏌愪釜鏁版嵁搴撱?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) int mysql_query(MYSQL *connection,const char *query)//浠栧皢鎵цquery璇彞錛岃繍琛屾垚鍔熷皢榪斿洖0錛屼緥濡俶ysql_query(conn_ptr, Create table cert_info(...),灝嗗垱寤轟竴涓悕涓篶ert_info鐨勮〃錛屽嚑涔庢墍鏈夌殑SQL璇彞閮借兘榪欎箞鎵ц銆傚懙鍛碉紝鏄笉鏄樉寰楀緢綆鍗曪紝浠栧氨鍜屽懡浠よ涓緭鍏ョ殑SQL璇彞宸笉澶氥傚湪浣跨敤涓婇潰鍑芥暟鐨勬椂鍊欎竴鑸細(xì)浣跨敤
聽(tīng)聽(tīng)聽(tīng)聽(tīng) my_ulonglong mysql_affected_rows(MYSQL *connection)錛岃繖涓嚱鏁拌繑鍥炵殑鏄痬ysql_query瀵硅繘琛屾敼鍔ㄧ殑琛岀殑鏁伴噺銆?br />4錛屄?tīng)聽(tīng)聽(tīng)聽(tīng)?澶勭悊媯(gè)绱㈠埌鐨勬暟鎹?br />褰撴垜浠彲浠ユ墽琛孲QL璇彞浠ュ悗錛岄偅涔堝氨寰堝鏄撴墽琛屽鍔犲垹闄や慨鏀圭瓑鎿嶄綔錛屼絾鏄亣鑻ユ绱㈠嚭鏉ョ殑鏁版嵁瀛樺偍鍦ㄥ摢閲屽憿錛?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) MYSQL_RES *mysql_use_result(MYSQL *connection)榪欎釜鍑芥暟寰楀埌涓涓繛鎺ュ璞¤繑鍥炰竴涓粨鏋滈泦鍚堟寚閽堬紝鍑洪敊鏃惰繑鍥濶ULL銆備笉榪囦粬鍙槸榪斿洖涓涓泦鍚堝璞″垵濮嬪寲鏉ユ帴鏀舵暟鎹紝騫舵病鏈夊皢浠諱綍媯(gè)绱㈠埌鐨勬暟鎹繑鍥炲埌緇撴灉闆嗗悎涓?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)榪欎釜鍑芥暟鑾峰緱mysql_use_resul寰楀埌鐨勭粨鏋滅粨鏋勪綋錛屽茍浠庝腑媯(gè)绱㈠崟涓錛屽茍榪斿洖鍒嗛厤緇欒緇撴瀯浣撶殑鏁版嵁錛屾病鏈夋洿澶氭暟鎹垨鍑洪敊鏃訛紝榪斿洖NULL銆?br />聽(tīng)聽(tīng)聽(tīng)聽(tīng) Unsigned int mysql_field_count(MYSQL *connection)瀹冨緱鍒頒竴涓繛鎺ュ璞″茍榪斿洖鍦ㄩ泦鍚堜腑瀛楁鐨勬暟鐩?br />浜庢槸鏈変笂闈㈢殑鍩虹鎴戜滑灝卞彲浠ョ悊瑙d笅闈㈣繖孌典簡(jiǎn)錛氾紙娌℃湁閿欒澶勭悊錛?br />mysql_init(&conn_ptr);
mysql_real_connect(conn_ptr,"localhost","sagely","secret","ra",0,NULL,0);
mysql_query(conn_ptr,"SELECT * form usr_info);
res_ptr=mysql_use_result(&conn_ptr);
sqlrow=mysql_fetch_row(res_ptr);
for(int i=0;i<mysql_field_count(&conn_ptr);i++){printf("%s ",sqlrow);}
聽(tīng)聽(tīng)聽(tīng)聽(tīng) MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)瀹冭繑鍥炵殑鏄垪鐨勪俊鎭紝姣斿鍒楃殑鍚嶇О錛屽垪鎵鍦ㄨ〃鍚嶇О絳夌瓑錛屾湁浜?jiǎn)杩欎釜灏卞彲浠畣鍒楁爣棰樹(shù)笌鏁版嵁鎯冲搴旇典h潵浜?jiǎn)銆?br />
]]>
聽(tīng)
鏈枃涓昏鍖呮嫭浜屼釜閮ㄥ垎錛岀涓閮ㄥ垎閲嶇偣浠嬬粛鍦╒C涓紝鎬庝箞鏍烽噰鐢╯izeof鏉ユ眰緇撴瀯鐨勫ぇ灝忥紝浠ュ強(qiáng)瀹規(guī)槗鍑虹幇鐨勯棶棰橈紝騫剁粰鍑?guó)櫑e喅闂鐨勬栆?guī)硶錛岀浜岄儴鍒嗘葷粨鍑篤C涓璼izeof鐨勪富瑕佺敤娉曘?br />
1銆?sizeof搴旂敤鍦ㄧ粨鏋勪笂鐨勬儏鍐?br />
璇風(fēng)湅涓嬮潰鐨勭粨鏋勶細(xì)
struct MyStruct
{
double dda1;
char dda;
int type
};
瀵圭粨鏋凪yStruct閲囩敤sizeof浼?xì)鍑虹庮C粈涔堢粨鏋滃憿錛焥izeof(MyStruct)涓哄灝戝憿錛熶篃璁鎬綘浼?xì)杩欐犱h眰錛?br />
sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13
浣嗘槸褰撳湪VC涓祴璇曚笂闈㈢粨鏋勭殑澶у皬鏃訛紝浣犱細(xì)鍙戠幇sizeof(MyStruct)涓?6銆備綘鐭ラ亾涓轟粈涔堝湪VC涓細(xì)寰楀嚭榪欐牱涓涓粨鏋滃悧錛?br />
鍏跺疄錛岃繖鏄疺C瀵瑰彉閲忓瓨鍌ㄧ殑涓涓壒孌婂鐞嗐備負(fù)浜?jiǎn)鎻愰珮CPU鐨勫瓨鍌ㄩ熷害錛孷C瀵逛竴浜涘彉閲忕殑璧峰鍦板潃鍋氫簡(jiǎn)鈥滃榻愨濆鐞嗐傚湪榛樿鎯呭喌涓嬶紝VC瑙勫畾鍚勬垚鍛樺彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺蹇呴』涓鴻鍙橀噺鐨勭被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟鐨勫嶆暟銆備笅闈㈠垪鍑哄父鐢ㄧ被鍨嬬殑瀵歸綈鏂瑰紡(vc6.0,32浣嶇郴緇?銆?br />
綾誨瀷
瀵歸綈鏂瑰紡錛堝彉閲忓瓨鏀劇殑璧峰鍦板潃鐩稿浜庣粨鏋勭殑璧峰鍦板潃鐨勫亸縐婚噺錛?br />
Char
鍋忕Щ閲忓繀欏諱負(fù)sizeof(char)鍗?鐨勫嶆暟
int
鍋忕Щ閲忓繀欏諱負(fù)sizeof(int)鍗?鐨勫嶆暟
float
鍋忕Щ閲忓繀欏諱負(fù)sizeof(float)鍗?鐨勫嶆暟
double
鍋忕Щ閲忓繀欏諱負(fù)sizeof(double)鍗?鐨勫嶆暟
Short
鍋忕Щ閲忓繀欏諱負(fù)sizeof(short)鍗?鐨勫嶆暟
鍚勬垚鍛樺彉閲忓湪瀛樻斁鐨勬椂鍊欐牴鎹湪緇撴瀯涓嚭鐜扮殑欏哄簭渚濇鐢寵絀洪棿錛屽悓鏃舵寜鐓т笂闈㈢殑瀵歸綈鏂瑰紡璋冩暣浣嶇疆錛岀┖緙虹殑瀛楄妭VC浼?xì)鑷姩濉厖銆傚悓鏃禫C涓轟簡(jiǎn)紜繚緇撴瀯鐨勫ぇ灝忎負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆璇ョ粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛夌殑鍊嶆暟錛屾墍浠ュ湪涓烘渶鍚庝竴涓垚鍛樺彉閲忕敵璇風(fēng)┖闂村悗錛岃繕?shù)細(xì)鏍规嵁闇瑕佽嚜鍔ㄥ~鍏呯┖緙虹殑瀛楄妭銆?br />
涓嬮潰鐢ㄥ墠闈㈢殑渚嬪瓙鏉ヨ鏄嶸C鍒板簳鎬庝箞鏍鋒潵瀛樻斁緇撴瀯鐨勩?br />
struct MyStruct
{
double dda1;
char dda;
int type
}錛?br />
涓轟笂闈㈢殑緇撴瀯鍒嗛厤絀洪棿鐨勬椂鍊欙紝VC鏍規(guī)嵁鎴愬憳鍙橀噺鍑虹幇鐨勯『搴忓拰瀵歸綈鏂瑰紡錛屽厛涓虹涓涓垚鍛榙da1鍒嗛厤絀洪棿錛屽叾璧峰鍦板潃璺熺粨鏋勭殑璧峰鍦板潃鐩稿悓錛堝垰濂藉亸縐婚噺0鍒氬ソ涓簊izeof(double)鐨勫嶆暟錛夛紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(double)=8涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎簩涓垚鍛榙da鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屾槸sizeof(char)鐨勫嶆暟錛屾墍浠ユ妸dda瀛樻斁鍦ㄥ亸縐婚噺涓?鐨勫湴鏂規(guī)弧瓚沖榻愭柟寮忥紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(char)=1涓瓧鑺傦紱鎺ヤ笅鏉ヤ負(fù)絎笁涓垚鍛榯ype鍒嗛厤絀洪棿錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof(int)=4鐨勫嶆暟錛屼負(fù)浜?jiǎn)婊…憶_榻愭柟寮忓鍋忕Щ閲忕殑綰︽潫闂錛孷C鑷姩濉厖3涓瓧鑺傦紙榪欎笁涓瓧鑺傛病鏈夋斁浠涔堜笢瑗匡級(jí)錛岃繖鏃朵笅涓涓彲浠ュ垎閰嶇殑鍦板潃瀵逛簬緇撴瀯鐨勮搗濮嬪湴鍧鐨勫亸縐婚噺涓?2錛屽垰濂芥槸sizeof(int)=4鐨勫嶆暟錛屾墍浠ユ妸type瀛樻斁鍦ㄥ亸縐婚噺涓?2鐨勫湴鏂癸紝璇ユ垚鍛樺彉閲忓崰鐢╯izeof(int)=4涓瓧鑺傦紱榪欐椂鏁翠釜緇撴瀯鐨勬垚鍛樺彉閲忓凡緇忛兘鍒嗛厤浜?jiǎn)绌洪椷_(dá)紝鎬葷殑鍗犵敤鐨勭┖闂村ぇ灝忎負(fù)錛?+1+3+4=16錛屽垰濂戒負(fù)緇撴瀯鐨勫瓧鑺傝竟鐣屾暟錛堝嵆緇撴瀯涓崰鐢ㄦ渶澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof(double)=8錛夌殑鍊嶆暟錛屾墍浠ユ病鏈夌┖緙虹殑瀛楄妭闇瑕佸~鍏呫傛墍浠ユ暣涓粨鏋勭殑澶у皬涓猴細(xì)sizeof(MyStruct)=8+1+3+4=16錛屽叾涓湁3涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?br />
涓嬮潰鍐嶄婦涓緥瀛愶紝浜ゆ崲涓涓嬩笂闈㈢殑MyStruct鐨勬垚鍛樺彉閲忕殑浣嶇疆錛屼嬌瀹冨彉鎴愪笅闈㈢殑鎯呭喌錛?br />
struct MyStruct
{
char dda;
double dda1;
int type
}錛?br />
榪欎釜緇撴瀯鍗犵敤鐨勭┖闂翠負(fù)澶氬ぇ鍛紵鍦╒C6.0鐜涓嬶紝鍙互寰楀埌sizeof(MyStruc)涓?4銆傜粨鍚堜笂闈㈡彁鍒扮殑鍒嗛厤絀洪棿鐨勪竴浜涘師鍒欙紝鍒嗘瀽涓媀C鎬庝箞鏍蜂負(fù)涓婇潰鐨勭粨鏋勫垎閰嶇┖闂寸殑銆傦紙綆鍗曡鏄庯級(jí)
struct MyStruct
{
char dda;//鍋忕Щ閲忎負(fù)0錛屾弧瓚沖榻愭柟寮忥紝dda鍗犵敤1涓瓧鑺傦紱
double dda1;//涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?錛屼笉鏄痵izeof(double)=8
//鐨勫嶆暟錛岄渶瑕佽ˉ瓚?涓瓧鑺傛墠鑳戒嬌鍋忕Щ閲忓彉?shù)?錛堟弧瓚沖榻?br />
//鏂瑰紡錛夛紝鍥犳VC鑷姩濉厖7涓瓧鑺傦紝dda1瀛樻斁鍦ㄥ亸縐婚噺涓?
//鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?br />
int type錛?/涓嬩竴涓彲鐢ㄧ殑鍦板潃鐨勫亸縐婚噺涓?6錛屾槸sizeof(int)=4鐨勫?br />
//鏁幫紝婊¤凍int鐨勫榻愭柟寮忥紝鎵浠ヤ笉闇瑕乂C鑷姩濉厖錛宼ype瀛?br />
//鏀懼湪鍋忕Щ閲忎負(fù)16鐨勫湴鍧涓婏紝瀹冨崰鐢?涓瓧鑺傘?br />
}錛?/鎵鏈夋垚鍛樺彉閲忛兘鍒嗛厤浜?jiǎn)绌洪椷_(dá)紝絀洪棿鎬葷殑澶у皬涓?+7+8+4=20錛屼笉鏄粨鏋?br />
//鐨勮妭杈圭晫鏁幫紙鍗崇粨鏋勪腑鍗犵敤鏈澶х┖闂寸殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟sizeof
//(double)=8錛夌殑鍊嶆暟錛屾墍浠ラ渶瑕佸~鍏?涓瓧鑺傦紝浠ユ弧瓚崇粨鏋勭殑澶у皬涓?br />
//sizeof(double)=8鐨勫嶆暟銆?br />
鎵浠ヨ緇撴瀯鎬葷殑澶у皬涓猴細(xì)sizeof(MyStruc)涓?+7+8+4+4=24銆傚叾涓葷殑鏈?+4=11涓瓧鑺傛槸VC鑷姩濉厖鐨勶紝娌℃湁鏀句換浣曟湁鎰忎箟鐨勪笢瑗褲?br />
VC瀵圭粨鏋勭殑瀛樺偍鐨勭壒孌婂鐞嗙‘瀹炴彁楂楥PU瀛樺偍鍙橀噺鐨勯熷害錛屼絾鏄湁鏃跺欎篃甯︽潵浜?jiǎn)涓浜涢夯鐑?chǔ)锛屾垜浠篃灞忚斀鎺夊彉閲忛粯璁ょ殑瀵归綈鏂瑰紡锛岃嚜宸卞彲浠ヨ畱之氬彉閲忕殑瀵归綈鏂瑰紡銆?br />
VC涓彁渚涗簡(jiǎn)#pragma pack(n)鏉ヨ瀹氬彉閲忎互n瀛楄妭瀵歸綈鏂瑰紡銆俷瀛楄妭瀵歸綈灝辨槸璇村彉閲忓瓨鏀劇殑璧峰鍦板潃鐨勫亸縐婚噺鏈変袱縐嶆儏鍐碉細(xì)絎竴銆佸鏋渘澶т簬絳変簬璇ュ彉閲忔墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺蹇呴』婊¤凍榛樿鐨勫榻愭柟寮忥紝絎簩銆佸鏋渘灝忎簬璇ュ彉閲忕殑綾誨瀷鎵鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堝亸縐婚噺涓簄鐨勫嶆暟錛屼笉鐢ㄦ弧瓚抽粯璁ょ殑瀵歸綈鏂瑰紡銆傜粨鏋勭殑鎬誨ぇ灝忎篃鏈変釜綰︽潫鏉′歡錛屽垎涓嬮潰涓ょ鎯呭喌錛氬鏋渘澶т簬鎵鏈夋垚鍛樺彉閲忕被鍨嬫墍鍗犵敤鐨勫瓧鑺傛暟錛岄偅涔堢粨鏋勭殑鎬誨ぇ灝忓繀欏諱負(fù)鍗犵敤絀洪棿鏈澶х殑鍙橀噺鍗犵敤鐨勭┖闂存暟鐨勫嶆暟錛?br />
鍚﹀垯蹇呴』涓簄鐨勫嶆暟銆備笅闈婦渚嬭鏄庡叾鐢ㄦ硶銆?br />
#pragma pack(push) //淇濆瓨瀵歸綈鐘舵?br />
#pragma pack(4)//璁懼畾涓?瀛楄妭瀵歸綈
struct test
{
char m1;
double m4;
int m3;
};
#pragma pack(pop)//鎭㈠瀵歸綈鐘舵?br />
浠ヤ笂緇撴瀯鐨勫ぇ灝忎負(fù)16錛屼笅闈㈠垎鏋愬叾瀛樺偍鎯呭喌錛岄鍏堜負(fù)m1鍒嗛厤絀洪棿錛屽叾鍋忕Щ閲忎負(fù)0錛屾弧瓚蟲(chóng)垜浠嚜宸辮瀹氱殑瀵歸綈鏂瑰紡錛?瀛楄妭瀵歸綈錛夛紝m1鍗犵敤1涓瓧鑺傘傛帴鐫寮濮嬩負(fù)m4鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)1錛岄渶瑕佽ˉ瓚?涓瓧鑺傦紝榪欐牱浣垮亸縐婚噺婊¤凍涓簄=4鐨勫嶆暟錛堝洜涓簊izeof(double)澶т簬n錛?m4鍗犵敤8涓瓧鑺傘傛帴鐫涓簃3鍒嗛厤絀洪棿錛岃繖鏃跺叾鍋忕Щ閲忎負(fù)12錛屾弧瓚充負(fù)4鐨勫嶆暟錛宮3鍗犵敤4涓瓧鑺傘傝繖鏃跺凡緇忎負(fù)鎵鏈夋垚鍛樺彉閲忓垎閰嶄簡(jiǎn)絀洪棿錛屽叡鍒嗛厤浜?6涓瓧鑺傦紝婊¤凍涓簄鐨勫嶆暟銆傚鏋滄妸涓婇潰鐨?pragma pack(4)鏀逛負(fù)#pragma pack(16)錛岄偅涔堟垜浠彲浠ュ緱鍒扮粨鏋勭殑澶у皬涓?4銆傦紙璇瘋鑰呰嚜宸卞垎鏋愶級(jí)
2銆?sizeof鐢ㄦ硶鎬葷粨
鍦╒C涓紝sizeof鏈夌潃璁稿鐨勭敤娉曪紝鑰屼笖寰堝鏄撳紩璧蜂竴浜涢敊璇備笅闈㈡牴鎹畇izeof鍚庨潰鐨勫弬鏁板sizeof鐨勭敤娉曞仛涓葷粨銆?br />
A錛?鍙傛暟涓烘暟鎹被鍨嬫垨鑰呬負(fù)涓鑸彉閲忋備緥濡俿izeof(int),sizeof(long)絳夌瓑銆傝繖縐嶆儏鍐佃娉ㄦ剰鐨勬槸涓嶅悓緋葷粺緋葷粺鎴栬呬笉鍚岀紪璇戝櫒寰楀埌鐨勭粨鏋滃彲鑳芥槸涓嶅悓鐨勩備緥濡俰nt綾誨瀷鍦?6浣嶇郴緇熶腑鍗?涓瓧鑺傦紝鍦?2浣嶇郴緇熶腑鍗?涓瓧鑺傘?br />
B錛?鍙傛暟涓烘暟緇勬垨鎸囬拡銆備笅闈婦渚嬭鏄?
int a[50]; //sizeof(a)=4*50=200; 姹傛暟緇勬墍鍗犵殑絀洪棿澶у皬
int *a=new int[50];// sizeof(a)=4; a涓轟竴涓寚閽堬紝sizeof(a)鏄眰鎸囬拡
//鐨勫ぇ灝?鍦?2浣嶇郴緇熶腑錛屽綋鐒舵槸鍗?涓瓧鑺傘?br />
C錛?鍙傛暟涓虹粨鏋勬垨綾匯係izeof搴旂敤鍦ㄧ被鍜岀粨鏋勭殑澶勭悊鎯呭喌鏄浉鍚岀殑銆備絾鏈変袱鐐歸渶瑕佹敞鎰忥紝絎竴銆佺粨鏋勬垨鑰呯被涓殑闈?rùn)鎬佹垚鍛樹(shù)笉瀵圭粨鏋勬垨鑰呯被鐨勫ぇ灝忎駭鐢熷獎(jiǎng)鍝嶏紝鍥犱負(fù)闈?rùn)鎬佸彉閲忕殑瀛樺偍浣嶇疆涓庣粨鏋勬垨鑰呯被鐨勫疄渚嬪湴鍧鏃犲叧銆?br />
絎簩銆佹病鏈夋垚鍛樺彉閲忕殑緇撴瀯鎴栫被鐨勫ぇ灝忎負(fù)1錛屽洜涓哄繀欏諱繚璇佺粨鏋勬垨綾葷殑姣忎竴
涓疄渚嬪湪鍐呭瓨?shù)腑閮芥湁鍞竴鐨勫湴鍧銆?br />
涓嬮潰涓句緥璇存槑錛?br />
Class Test{int a;static double c};//sizeof(Test)=4.
Test *s;//sizeof(s)=4,s涓轟竴涓寚閽堛?br />
Class test1{ };//sizeof(test1)=1;
D錛?鍙傛暟涓哄叾浠栥備笅闈婦渚嬭鏄庛?br />
int func(char s[5]);
{
cout<
//鏁扮殑鍙傛暟鍦ㄤ紶閫掔殑鏃跺欑郴緇熷鐞嗕負(fù)涓涓寚閽堬紝鎵
//浠izeof(s)瀹為檯涓婁負(fù)姹傛寚閽堢殑澶у皬銆?br />
return 1;
}
sizeof(func(鈥?234鈥?)=4//鍥犱負(fù)func鐨勮繑鍥炵被鍨嬩負(fù)int錛屾墍浠ョ浉褰撲簬
//姹俿izeof(int).
浠ヤ笂涓簊izeof鐨勫熀鏈敤娉曪紝鍦ㄥ疄闄呯殑浣跨敤涓娉ㄦ剰鍒嗘瀽VC鐨勫垎閰嶅彉閲忕殑鍒嗛厤絳栫暐錛岃繖鏍風(fēng)殑璇濆彲浠ラ伩鍏嶄竴浜涢敊璇?br />
]]>
int a;
public:
int b;
};
鈥︹?br />鈥︹?br />};
A aa, bb;
B c, d;
a.a = 10; a.b = 20;
copyclass(???);// 灝哸a鎷瘋礉鍒癰b
鈥?
copyclass(???);// 灝哻鎷瘋礉鍒癲
return 0;
}
3鍦ㄤ竴涓」鐩腑錛屼綘琚垎閰嶅埌涓涓皬浠誨姟錛氬湪涓涓瓧絎︿覆str涓寘鍚瓧絎︿覆str_a錛屾壘鍑烘墍鏈夊湪瀛楃涓瞫tr涓殑str_a錛岃姹備綘鏋舵瀯榪欎釜鍔熻兘鍧楀茍涓旂粰鍑轟嬌鐢ㄨ鏄庯紝浠g爜榪愯鍋ュ.騫朵笖鎬ц兘涓洪瑕併?br />
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1銆亀hile(*a++=*b++);
2銆乵emcpy(&bb, &aa, sizeof(A));
memcpy(&d, &c, sizeof(B));
3銆丅OOL FindString(const char *src錛?const char *str_a)
{
聽(tīng)聽(tīng) char *pStart=(char *)src;
聽(tīng)聽(tīng) if(NULL==pStart || NULL==str_a) return FALSE;
聽(tīng)聽(tīng) char *pCursor=pStart;
聽(tīng)聽(tīng) while(pCursor=strstr(pCursor, str_a))
聽(tīng) {
聽(tīng)聽(tīng)聽(tīng)聽(tīng) printf("find (%s) at position %ld\r\n"), str_a, pCursor-pStart);聽(tīng)聽(tīng)
聽(tīng) }
聽(tīng) return TRUE;聽(tīng)
}
]]>
{
/* 鑻ヤ覆 S 涓粠絎?/span> pos(S 鐨勪笅鏍?/span> 0 鈮?/span> pos<StrLength(S)) 涓瓧絎?/span>
璧峰瓨鍦ㄥ拰涓?/span> T 鐩稿悓鐨勫瓙涓詫紝鍒欑О鍖歸厤鎴愬姛錛岃繑鍥炵涓涓?/span>
榪欐牱鐨勫瓙涓插湪涓?/span> S 涓殑涓嬫爣錛屽惁鍒欒繑鍥?/span> -1聽(tīng)聽(tīng)聽(tīng) */
int i = pos, j = 0;
while ( S[i+j] != '\0'&& T[j] != '\0')
if ( S[i+j] == T[j] )
j ++; // 緇х畫(huà)姣旇緝鍚庝竴瀛楃
else
{
i ++; j = 0;
//
閲嶆柊寮濮嬫柊鐨勪竴杞尮閰?/span>
}
if ( T[j] == '\0')
return i; // 鍖歸厤鎴愬姛 聽(tīng)聽(tīng) 榪斿洖涓嬫爣
else
return -1; // 涓?/span> S 涓?/span> ( 絎?/span> pos 涓瓧絎﹁搗 ) 涓嶅瓨鍦ㄥ拰涓?/span> T 鐩稿悓鐨勫瓙涓?/span>
}
// Index_BF
鍋剁劧鍙戠幇鐨勪竴涓湁鐢ㄧ殑windows api SetROP2(int nDrawMode)錛岀幇鍦ㄥ皢鎴戝璇pi鐨勪嬌鐢ㄧ殑蹇?jī)寰楀綊绾冲涓嬪Q?/p>
璇ュ嚱鏁扮殑涓昏鐨勪綔鐢ㄦ槸鏍規(guī)嵁nDrawMode璁劇疆鐨勬柟寮忛噸鏂拌瀹氱粯鍥劇殑鏂瑰紡錛屼笅闈㈠氨涓嶅悓鐨刵DrawMode鍊煎叿浣撹В閲婄粯鍥炬ā寮忔槸濡備綍鏀瑰彉鐨勩?/p>
棣栧厛灝眓DrawMode鐨勫彇鍊兼湁浠ヤ笅鐨勬儏鍐碉細(xì)
/////////////////////////////////////////////////////////////////////////////////example/////////////////////////////////////////////////////////////////////////
聽(tīng)聽(tīng)ClientDC.SetROP2(R2_NOT);
聽(tīng)聽(tīng)ClientDC.MoveTo(m_PointOrigin);
聽(tīng)聽(tīng)ClientDC.LineTo(m_PointOld);
聽(tīng)聽(tīng)ClientDC.MoveTo(m_PointOrigin);
聽(tīng)聽(tīng)ClientDC.LineTo(point);
聽(tīng)聽(tīng)m_PointOld = point;
聽(tīng)聽(tīng)CView::OnMouseMove(nFlags, point);
///////////////////////////////////////////////////////////////////////////////////////end/////////////////////////////////////////////////////////////////////////
鎬諱箣錛屼笂榪癮pi鐨勪竴涓綔鐢ㄦ槸鍦ㄩ渶瑕佹敼鍙樼粯鍥劇殑妯″紡鏃訛紝涓嶉渶瑕侀噸鏂拌緗敾絎旓紝鍙渶瑕佽緗笉鍚岀殑緇樺浘鐨勬ā寮忓嵆鍙揪鍒扮浉搴旂殑鐩殑銆?/p>
struct a
{
聽(tīng)int b;
};
struct b
{
聽(tīng)聽(tīng)聽(tīng) int a;
};
void main()
{
聽(tīng)a A;
聽(tīng)A.b = NULL;
聽(tīng)A.b = 1;
聽(tīng)
聽(tīng)b a;
聽(tīng)a.a = 3;
}
鍦–鐨勭幆澧冧笅錛屼細(xì)鎶ラ敊錛屽湪C++鐨勬儏鍐碉紝榪欐牱鐨勬搷浣滃氨鏄厑璁哥殑銆?br />鍦–++鐨勭紪璇戝櫒涓紝鍏佽灝嗙粨鏋勪綋鍚嶄綔涓轟竴涓彉閲忓悕鏉ュ寰呫?/p>