_CRTIMP int __cdecl sprintf(char *, const char *, ...);我在VC的stdio.h中看到了这么个函数,想问下函数中的三个参数代表什么, 而...又代表什么?
最好有简单实例说明怎样使用._CRTIMP 
 
__cdecl
这上面两个字符串又代表什么意思

解决方案 »

  1.   

    _cdecl 按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划线。对于“C++”函数,有所不同。 如函数void test(void)的修饰名是_test;对于不属于一个类的“C++”全局函数,修饰名是?test@@ZAXXZ。 这是MFC缺省调用约定。由于是调用者负责把参数弹出栈,所以可以给函数定义个数不定的参数,如printf函数。 
      

  2.   

    sprintf(char *, const char *, ...);
    第一个参数:用来存放结果的buffer
    第二个参数:格式化字符串,跟printf()一样
    第3个参数:格式化参数列表
    例如:
    char buffer[100] = {0};
    sprintf(buffer, "%d%s", 10, "abc");前面的修饰符如楼上说的
      

  3.   

    _cdecl 表示 函数调用约定,vc的默认的函数调用约定
    规定了参数压栈方式,函数命名规则等