程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++實現C語言printf函數

C++實現C語言printf函數

編輯:關於C++
//簡單實現C語言中printf函數
#include
#include
#include
using namespace std;




void print(const char* str)//處理只有字符串的時候
{
cout << str << endl;
}


template
void print(const char* str, T t, Args... args)
{
if((*str) == '\0' || str == NULL)//退出遞歸條件
{
return;
}


if(*str == '%')
{
switch(*(++str))//這裡只實現幾個代表一下
{
case 'd':
if(strcmp(typeid(t).name(), "i"))
{
cout << "參數類型不匹配!" << endl;
return;
};
break;
case 'c':
if(strcmp(typeid(t).name(), "c"))
{
cout << "參數類型不匹配!" << endl;
return;
};
break;
default:;break;
}
cout << t;
print(++str, args...);
}
else if(*str == ' ')
{
cout << ' ';
print(++str, t, args...);
}
else
{
cout << *str;
print(++str, t, args...);
}


}




int main()
{





return 0;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved