嵌入式面試題:簡(jiǎn)述strcpy、sprintf與mencpy的區(qū)別
時(shí)間:2019-04-04 00:00:00
來源:信盈達(dá)
作者:信盈達(dá)
三者主要有以下不同之處:
(1)操作對(duì)象不同,strcpy的兩個(gè)操作對(duì)象均為字符串,sprintf的操作源對(duì)象可以是多種數(shù)據(jù)類型,目的操作對(duì)象是字符串,memcpy 的兩個(gè)對(duì)象就是兩個(gè)任意可操作的內(nèi)存地址,并不限于何種數(shù)據(jù)類型。
(2)執(zhí)行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。
(3)實(shí)現(xiàn)功能不同,strcpy主要實(shí)現(xiàn)字符串變量間的拷貝,sprintf主要實(shí)現(xiàn)其他數(shù)據(jù)類型格式到字符串的轉(zhuǎn)化,memcpy主要是內(nèi)存塊間的拷貝。
說明:strcpy、sprintf與memcpy都可以實(shí)現(xiàn)拷貝的功能,但是針對(duì)的對(duì)象不同,根據(jù)實(shí)際需求,來選擇合適的函數(shù)實(shí)現(xiàn)拷貝功能。