0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言中字符串拷貝函數(shù)有幾種方法?

FPGA之家 ? 來源:一口Linux ? 作者:一口Linux ? 2021-03-12 14:16 ? 次閱讀

strcpy,即string copy(字符串復(fù)制)的縮寫。

C語言標(biāo)準(zhǔn)庫中實(shí)現(xiàn)字符串拷貝的一個(gè)函數(shù)。

各大公司筆試題最喜歡考的一道題,快來看看,你會(huì)幾種方法?

問:你會(huì)如何實(shí)現(xiàn)這個(gè)函數(shù)呢?

1

void strcpy(char *strDest, char *strSrc){ while( (*strDest++ = *strSrc++) != ‘’ ); }

2

//將源字符串 strSrrc加const,表明其為常量輸入參數(shù) void strcpy(char *strDest, const char *strSrc){ while( (*strDest++ = *strSrc++) != ‘’ ); }

3

void strcpy(char *strDest, const char *strSrc){ //對(duì)源地址strSrc和目標(biāo)地址strDest加非NULL(0)斷言 assert( (strDest != NULL) && (strSrc != NULL) ); while( (*strDest++ = *strSrc++) != ‘’ ); }

4

//為了實(shí)現(xiàn)鏈?zhǔn)讲僮?,將目的地址返?char* strcpy(char *strDest, const char *strSrc){ assert( (strDest != NULL) && (strSrc != NULL) ); char *address = strDest; while( (*strDest++ = *strSrc++) != ‘’ ); return address; }

5

匯編

.text mystrcopy: LDRB r2, [r1], #1 STRB r2, [r0], #1 CMP r2, #0 BNE mystrcopy MOV pc, lr

原文標(biāo)題:如何字符串拷貝函數(shù)的幾種方法,你猜哪個(gè)效率最高?

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134080
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    566

    瀏覽量

    20384

原文標(biāo)題:如何字符串拷貝函數(shù)的幾種方法,你猜哪個(gè)效率最高?

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    在LabVIEW中,將字符串轉(zhuǎn)換為16進(jìn)制字符串是一個(gè)常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時(shí)。LabVIEW提供了多種方法來實(shí)現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtua
    的頭像 發(fā)表于 09-04 15:54 ?429次閱讀

    labview中常用的字符串函數(shù)哪些?

    在LabVIEW中,常用的字符串函數(shù)廣泛覆蓋了對(duì)字符串的各種操作,包括但不限于格式化、搜索、替換、連接、計(jì)算長(zhǎng)度等。以下是一些常用的字符串函數(shù)
    的頭像 發(fā)表于 09-04 15:43 ?141次閱讀

    C語言字符串編譯函數(shù)介紹

    C語言中字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的
    的頭像 發(fā)表于 03-07 16:18 ?386次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>字符串</b>編譯<b class='flag-5'>函數(shù)</b>介紹

    labview掃描字符串怎么用

    LabVIEW是一種圖形化編程語言,用于開發(fā)控制、測(cè)量和監(jiān)控系統(tǒng)。雖然它主要用于工程和科學(xué)領(lǐng)域,但也可以用于處理文本和字符串。 在LabVIEW中,可以使用字符串處理函數(shù)來掃描
    的頭像 發(fā)表于 12-26 16:58 ?1456次閱讀

    labview中怎么對(duì)字符串中的進(jìn)行實(shí)時(shí)處理

    LabVIEW是一種用于開發(fā)控制、測(cè)試和測(cè)量系統(tǒng)的可視化編程環(huán)境,它提供了許多處理字符串的功能。在LabVIEW中,可以使用不同的函數(shù)和工具來實(shí)時(shí)處理字符串。下面我將詳細(xì)介紹一些常見的方法
    的頭像 發(fā)表于 12-26 14:12 ?1276次閱讀

    oracle字符串split成多個(gè)

    Oracle是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了許多強(qiáng)大的功能和函數(shù),用于處理和操作數(shù)據(jù)。其中之一就是字符串分割(split)方法,該方法用于將一個(gè)
    的頭像 發(fā)表于 12-06 09:54 ?4218次閱讀

    oracle判斷字符串包含某個(gè)字符

    字符串操作是任何編程語言中都非常重要的一部分,Oracle數(shù)據(jù)庫作為目前最常用的關(guān)系型數(shù)據(jù)庫之一,也提供了豐富的字符串操作函數(shù)方法。在本文
    的頭像 發(fā)表于 12-06 09:53 ?1.2w次閱讀

    oracle中拼接字符串函數(shù)

    在Oracle中,我們可以使用 CONCAT 函數(shù)來拼接字符串。CONCAT 函數(shù)接受兩個(gè)參數(shù),它將這兩個(gè)參數(shù)連接起來并返回相應(yīng)的字符串結(jié)果。 語法示例: CONCAT(string1
    的頭像 發(fā)表于 12-06 09:49 ?2355次閱讀

    MySQL替換字符串函數(shù)REPLACE

    MySQL是目前非常流行的開源數(shù)據(jù)庫管理系統(tǒng)之一,它具有強(qiáng)大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串中的指定字符字符串
    的頭像 發(fā)表于 11-30 10:44 ?1252次閱讀

    c語言怎么用scanf輸入字符串

    C語言中,我們可以使用scanf函數(shù)來接收用戶的輸入。scanf函數(shù)很多種用法,其中一種用法就是用來接收
    的頭像 發(fā)表于 11-24 10:03 ?1843次閱讀

    c語言字符串定義

    C語言是一種強(qiáng)大而廣泛使用的編程語言字符串是其中一個(gè)非常重要的概念。在C語言中,
    的頭像 發(fā)表于 11-24 10:02 ?1424次閱讀

    c語言gets函數(shù)可以輸入數(shù)字嗎

    C語言中的gets函數(shù)是用來讀取字符串的,而不是用來讀取數(shù)字的。它會(huì)讀取輸入的字符直到遇到換行符或者文件結(jié)束符。因此,如果你嘗試使用gets
    的頭像 發(fā)表于 11-24 10:00 ?1064次閱讀

    scanf在C語言中的作用

    至關(guān)重要。 scanf函數(shù)的基本語法是: ```c scanf("格式控制字符串", 變量2, ...); ``` 其中,"格式控制字符串"指定了輸入數(shù)據(jù)的類型和格式,變量1、變量2等
    的頭像 發(fā)表于 11-23 14:13 ?988次閱讀

    python輸出固定長(zhǎng)度的字符串

    Python 是一種強(qiáng)大而靈活的編程語言,具有許多用于處理字符串的功能。在 Python 中,種方法可以輸出固定長(zhǎng)度的字符串。下面將詳細(xì)
    的頭像 發(fā)表于 11-22 10:41 ?2446次閱讀

    mysql字符串包含某個(gè)字符串

    將詳盡、詳實(shí)、細(xì)致地探討MySQL中字符串包含的實(shí)現(xiàn)方法。 在MySQL中,可以通過使用內(nèi)建函數(shù)和通配符來實(shí)現(xiàn)字符串包含的操作。下面將詳細(xì)介紹幾種
    的頭像 發(fā)表于 11-16 14:52 ?2986次閱讀