宏定義中的## 串連符與# 符

  ## 串連符與# 符  ## 串連符號由兩個井號組成,其功能是在帶參數的宏定義中將兩個子串(token)聯結起來,從而形成一個新的子串。但它不可以是第一個或者最後一個子串。所謂的子串(token)就是指編譯器能夠識別的最小文法單元。具體的定義在編譯原理裡有詳盡的解釋,但不知道也無所謂。同時值得注意的是#符是把傳遞過來的參數當成字串進行替代。下面來看看它們是怎樣工作的。這是MSDN上的一個例子。  假設程式中已經定義了這樣一個帶參數的宏:#define paster( n ) printf(

訊息迴圈中的TranslateMessage函數

訊息迴圈中的TranslateMessage函數開發人員線上 Builder.com.cn 更新時間:2007-09-28作者:ghost 來源:CSDN本文關鍵詞: 訊息迴圈 ghost 函數 函數功能描述:將虛擬鍵訊息轉換為字元訊息。字元訊息被送到調用線程的訊息佇列中,在下一次線程調用函數GetMessage或PeekMessage時被讀出。.函數原型:    BOOL TranslateMessage(  CONST MSG *lpMsg );.參數:    lpMsg        

擷取系統可用串口列表

 int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)   {       CRegKey RegKey;       int nCount = 0;              if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware//DeviceMap//SerialComm") == ERROR_SUCCESS)       {           while(true)     

CreateThread()、_beginthread()以及_beginthreadex()聯絡與區別

CreateThread、_beginthread和_beginthreadex都是用來啟動線程的。區別:_beginthread是_beginthreadex的功能子集,_beginthreadex是微軟的C/C++執行階段程式庫函數,CreateThread是作業系統的函數。雖然_beginthread內部是調用_beginthreadex但他屏蔽了象安全特性這樣的功能,所以_beginthread與CreateThread不是同等層級,_beginthreadex和CreateThread

使用MSXML解析XML檔案

使用MSXML解析XML檔案本文以如下的XML檔案為例,讀寫這個XML檔案ASKLog.xml <?xml version="1.0" encoding="utf-8"?><Log> <LogNode>  <RecordTime>2007-11-28 15:23:14</RecordTime>  <RecordState>Running</RecordState>  <RecordMessage>Fi

動畫圖解:Excel自定輸入資料下拉式清單

如果在某些儲存格中需要輸入固定格式的資料(如“職稱”等),我們可以通過“資料有效性”建立一下下拉式清單,來進行選擇輸入,以方便統一輸入的資料。

strtol()函數解析

strtol()函數的原型:long int strtol ( const char * str, char ** endptr, int base );strtol()函數的reference:http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/然後一篇很詳細的介紹strtol()函數的blog...long int strtol(const char *nptr, char **endptr, int base)strtol(

限制程式只運行一次

1.使用互斥量來限制程式只運行一次BOOL CExecInApp::InitInstance(){//denyrunning application  second  /*AfxEnableControlContainer();::CreateMutex(NULL, TRUE, m_pszExeName);     if(ERROR_ALREADY_EXISTS == GetLastError())     {

MFC中自訂訊息

訊息映射、迴圈機制是Windows程式啟動並執行基本方式。VC++ MFC 中有許多現成的訊息控制代碼,可當我們需要完成其它的任務,需要自訂訊息,就遇到了一些困難。在MFC ClassWizard中不允許添加使用者自訂訊息,所以我們必須手動在程式中添加相應代碼,以便可以象處理其它訊息一樣處理自訂訊息。自訂訊息的步驟如下:(1)建立Single Document的MFC

含位域結構體的sizeof

使用位域的主要目的是壓縮儲存,其大致規則為:1) 如果相鄰位域欄位的類型相同,且其位寬之和小於類型的sizeof大小,則後面的欄位將緊鄰前一個欄位儲存,直到不能容納為止;2) 如果相鄰位域欄位的類型相同,但其位寬之和大於類型的sizeof大小,則後面的欄位將從新的儲存單元開始,其位移量為其類型大小的整數倍;3) 如果相鄰的位域欄位的類型不同,則各編譯器的具體實現有差異,VC6採取不壓縮方式,Dev-C++採取壓縮方式;4) 如果位域欄位之間穿插著非位域欄位,則不進行壓縮;5) 整個結構體的總大小

通過IP地址,擷取MAC地址,好像只能適用於區域網路

 public class ClassNetGetMac {  public ClassNetGetMac()  {  }  [DllImport("Iphlpapi.dll")]  private static extern int SendARP(Int32 dest,Int32 host,byte[] mac,ref Int32 length);  [DllImport("Ws2_32.dll")]   private static extern Int32

static全域變數與普通的全域變數的區別

1)static全域變數與普通的全域變數有什麼區別?(2)static局部變數和普通局部變數有什麼區別?(3)static函數與普通函數範圍有什麼不同點?(4)static函數與普通函數有什麼區別?(1)static全域變數與普通的全域變數有什麼區別?答:全域變數(外部變數)的說明之前再加以static

getrlimit和setrlimit

getrlimit和setrlimit函數   每個進程都有一組資源限制,其中某一些可以用getrlimit和setrlimit函數查詢和更改。#include #include int getrlimit(int resource,struct rlimit *rlptr);int setrlimit(int resource,const struct rlimit rlptr);Both return: 0 if OK,nonzero on error兩個函數  返回:若成功為0,出錯為非0

STL:map的使用:刪除map中指定值為value的所有元素

//第一個解決方案//erase.h#include <algorithm>using std::find_if;  template<class _map>class Proxy{    typename _map::mapped_type   const _value;public:    Proxy(typename _map::mapped_type const &value):_value(value){}    bool

sizeof,位元組對齊,多繼承,虛擬繼承,成員函數指標

關鍵字:sizeof,位元組對齊,多繼承,虛擬繼承,成員函數指標前向聲明:sizeof,一個其貌不揚的傢伙,引無數菜鳥竟折腰,小蝦我當初也沒少犯迷糊,秉著“辛苦我一個,幸福千萬人”的偉大思想,我決定將其儘可能詳細的總結一下。但當我總結的時候才發現,這個問題既可以簡單,又可以複雜,所以本文有的地方並不適合初學者,甚至都沒有必要大作文章。但如果你想“知其然,更知其所以然”的話,那麼這篇文章對你或許有所協助。菜鳥我對C++的掌握尚未深入,其中不乏錯誤,歡迎各位指正啊1.

在VC中動態載入ODBC時的一些小細節

Windows系統子目錄中的動態連結程式庫Odbcinst.dll提供了一個可以動態地增加、修改和刪除資料來源的函數SQLConfigDataSource()。該函數的原型如下:BOOL SQLConfigDataSource(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR

gethostbyname的傳回值類型struct hostent

 這個資料結構是這樣的:    struct hostent {    char *h_name;    char **h_aliases;    int h_addrtype;    int h_length;    char **h_addr_list;    };    #define h_addr h_addr_list[0]  這裡是這個資料結構的詳細資料:  struct hostent:    h_name – 地址的正式名稱。   h_aliases –

建構函式中的this指標

建構函式中的this指標作者:溫昱說明:感謝網頁C++ FAQ Lite的作者Marshall Cline和譯者申旻;感謝《C++語言核心》一書的作者Gregory Satir和Doug

是使用_beginthread 還是 CreateThread

CreateThread 是一個Win 32API 函數,_beginthread 是一個CRT(C Run-Time)函數,他們都是實現多線城的建立的函數,而且他們擁有相同的使用方法,相同的參數列表。但是他們有什麼區別呢?一般來說,從使用角度是沒有多大的區別的,CRT函數中除了signal()函數不能在CreateThread建立的線城中使用外,其他的CRT函數都可一正常使用,但是如果在CreateThread建立的線城中使用CRT函數的話,會產生一些Memory

七種排序演算法

七種排序演算法堆排序#include<stdio.h>void CreatHeap(int a[],int n,int h){   int i,j,flag,temp;     i=h;  j=2*i+1;  temp=a[i];  flag=0;  while(j<n && flag!=1)  {  if(j<n-1 && a[j]<a[j+1]) j++;      if(temp>a[j])    flag=1;   el

總頁數: 61357 1 .... 19999 20000 20001 20002 20003 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.