• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > C語言可變參數函數使用總結

    C語言可變參數函數使用總結

    作者: 時間:2013-05-13 來源:網絡 收藏

    //ADS1.2下編譯使用

    void TestFun(char* fmt,...)

    {

    int ch;

    char selch = 0;

    va_list ap = NULL;

    va_start(ap, fmt);

    do

    {

    selch = *fmt;

    if (selch!='%')

    {

    putchar(*fmt);

    }

    else

    {

    selch = *++fmt;

    switch(selch)

    {

    case 'c':

    ch = va_arg(ap, int);

    printf("%c",ch);

    break;

    case 'd':

    ch = va_arg(ap,int);

    printf("%d",ch);

    break;

    case 'x':

    ch = va_arg(ap, int);

    printf("%#x",ch);

    break;

    }

    }

    ++fmt;

    }while(*fmt!='');

    va_end(ap);

    }

    //調用

    TestFun((char*)"this is %d,%c,%x",1234,'6',0x12345);

    //WIN-TC編譯通過

    #i nclude

    /************************************************************

    typedef void *va_list;

    #define va_start(ap, parmN) (ap = ...)

    #define va_arg(ap, type) (*((type *)(ap))++)

    #define va_end(ap)

    ***************************************************/

    void TestFun(cosnt char* fmt,...)

    {

    int ch;

    long i32value = 0;

    char selch = 0;

    va_list ap = 0;

    va_start(ap, fmt);


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 潮州市| 山西省| 绥芬河市| 涞源县| 永泰县| 万全县| 灯塔市| 五指山市| 凤台县| 新晃| 福建省| 平利县| 长治县| 舒兰市| 洞头县| 城市| 商丘市| 乌审旗| 页游| 辽阳县| 琼海市| 黄大仙区| 乌拉特后旗| 西乌| 唐河县| 黄浦区| 华坪县| 城步| 丹巴县| 河津市| 孝义市| 咸宁市| 商河县| 浮山县| 贵定县| 永川市| 平潭县| 静宁县| 芜湖县| 天长市| 武夷山市|