C語言可變參

va_list 實際上就是一個char * 的指針

這裏用vsprintf();實現格式化輸出有機會重寫一下這個函數放在下面。

#include <bits/stdc++.h>
 
using namespace std;
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) 
int fun(char * format , ...)
{
	char buf[2014];
	va_list va;
	va_start(va,format); //將va 指向 format 的下一個元素 
	vsprintf(buf,format,va);//將格式化數據寫入buf 
	va_end(va);				//釋放內存空間 (使va 指向 NULL) 
	printf(buf);			//打印到標準輸出流上 
	
}
int main(void)
{
	char * t;
	printf("%d\n",_INTSIZEOF(t)); 
	fun("%d",1);
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章