新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天门市| 鄢陵县| 四川省| 常山县| 信阳市| 彭阳县| 长汀县| 阜康市| 泰安市| 铜川市| 黔西县| 西乌珠穆沁旗| 化州市| 西盟| 通道| 西和县| 黔西县| 云龙县| 垫江县| 齐河县| 寿宁县| 乌审旗| 潼关县| 衡东县| 文成县| 巩留县| 平江县| 沛县| 昂仁县| 阿城市| 若尔盖县| 康平县| 纳雍县| 北川| 宁德市| 兴宁市| 揭东县| 汕头市| 固原市| 西青区| 大港区|