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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

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

C語言標準庫中實現(xiàn)字符串拷貝的一個函數(shù)。

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

問:你會如何實現(xiàn)這個函數(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){ //對源地址strSrc和目標地址strDest加非NULL(0)斷言 assert( (strDest != NULL) && (strSrc != NULL) ); while( (*strDest++ = *strSrc++) != ‘’ ); }

4

//為了實現(xià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

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

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

責任編輯:haq

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

    關注

    180

    文章

    7581

    瀏覽量

    135603
  • 字符串
    +關注

    關注

    1

    文章

    567

    瀏覽量

    20441

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

    C語言中,字符串實際上是使用null字符O'終止的一維字符數(shù)組。因此,一個以null結(jié)尾的
    的頭像 發(fā)表于 03-07 16:18 ?438次閱讀
    <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ā)控制、測量和監(jiān)控系統(tǒng)。雖然它主要用于工程和科學領域,但也可以用于處理文本和字符串。 在LabVIEW中,可以使用字符串處理函數(shù)來掃描
    的頭像 發(fā)表于 12-26 16:58 ?1701次閱讀

    labview中怎么對字符串中的進行實時處理

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

    oracle字符串split成多個

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

    oracle判斷字符串包含某個字符

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

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

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

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

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

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

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

    c語言字符串定義

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

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

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

    scanf在C語言中的作用

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

    python輸出固定長度的字符串

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

    mysql字符串包含某個字符串

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