printf函式的實現

2021-08-01 06:43:39 字數 1227 閱讀 3156

printf函式是c語言庫函式中的輸出函式。在學習stm32過程用由於需要用到串列埠列印功能,但是程式原來的printf函式列印到串列埠時,出現了大量亂碼。無奈只能自己研究一下printf函式的構成。寫個乙個簡化版的printf函式。

int myprintf(const char *format, ...)

while(r_val)

res += count;//返回值長度增加

r_val = val;

while(count)

}break;

case 'x':

while(r_val)

res += count;

r_val = val;

while(count)

}break;

case 'l':

break;

case 'f':

while(val_double_integ)

res += count;//返回值長度增加

val_double_integ = (int) val_double;

while(count)

/*列印小數點*/

myputchar('.');

res += 1;//返回值長度增加

/*列印小數部分,小數點後六位強制清零*/

count = 0;

temp_double = 0;

if((val_double_dec - temp_double) == 0)

while((val_double_dec - temp_double)&&(count < 6))

res += count;//返回值長度增加

while(count)

}break;

case 's': //傳送字串

break;

case 'c':

break;

default :;}}

break;

case '\n':

break;

case '\r':

break;

default : //顯示原來的引數字串

}format++;

} va_end(ap);

rs485rece;

return res;

}

printf函式實現

要實現printf函式需要考慮如下三點 1.如何告訴printf傳入引數的個數 引數個數不確定。2.printf如何訪問到這些引數。3.函式呼叫完成後,系統如何釋放在堆疊的引數。printf函式的定義 原型 int cdecl printf const char format,注 cdecl是c c...

實現自己的printf函式

在嵌入式開發中,常常會通過串列埠列印一些資訊到pc終端,這就需要實現自己的printf函式,下面介紹列印函式print的實現。print.h cpp view plain copy print?ifndef print h define print h void print char fmt,voi...

c實現的printf函式

define crt secure no warnings include using namespace std include include void f1 size t i,char ch if i return else if ch p else putchar arr i base c ...