最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解memmove()與memcpy()的區(qū)別以及實現(xiàn)方法

 更新時間:2013年05月29日 16:51:44   作者:  
本篇文章是對memmove()與memcpy()的區(qū)別以及實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下

代碼如下所示:
復(fù)制代碼 代碼如下:

// MemMove.cpp : 定義控制臺應(yīng)用程序的入口點。
//
#include "stdafx.h"
#include <iostream>
using namespace std;

復(fù)制代碼 代碼如下:

void* memmove(void* dest, const void* src, size_t n)
{
 if (n <= 0)
 {
  cout << "Invalid count number." << endl;
 }
 if (dest == NULL || src == NULL)
 {
  cout << "The dest or src address is null." << endl;
 }
 if (dest == src)
 {
  cout << "The dest equals src." << endl;
 }
 if ((char*)dest <= (char*)src || (char*)dest >= (char*)src + n)
 {//對應(yīng)圖中2,3,4三種情況,賦值過程中,src中未使用的不會被覆蓋
  char* de = (char*)dest;
  const char* sr = (const char*)src;
  while (n--)
  {
   *de++ = *sr++;
  }
 }
 else
 {//對應(yīng)圖中的第一種情況
  char* de = (char*)dest + n -1;
  const char* sr = (const char*)src + n - 1;
  while (n--)
  {
   *de-- = *sr--;
  }
 }
 return dest;
}

復(fù)制代碼 代碼如下:

void* memmcpy(void* dest, const void* src, size_t n) 

  if (n <= 0) 

  cout << "Invalid count number." << endl; 

 if (dest == NULL || src == NULL) 
 { 
     cout << "The dest or src address is null." << endl; 
 } 
 if (dest == src) 
 { 
   cout << "The dest equals src." << endl; 
 } 
 char* de = (char*)dest; 
 const char* sr = (const char*)src; 
 while (n--) 
 { 
   *de++ = *sr++; 
 } 
  return dest; 


復(fù)制代碼 代碼如下:

int _tmain(int argc, _TCHAR* argv[])
{
 char* p = "hello,world"; 
 char dest[12] = {0};
 char *q = (char*)memmove(dest,p,5);
 cout << dest << endl;   
 cout << q << endl; 
 return 0;  
}

相關(guān)文章

  • C語言深入細致講解動態(tài)內(nèi)存管理

    C語言深入細致講解動態(tài)內(nèi)存管理

    動態(tài)內(nèi)存是相對靜態(tài)內(nèi)存而言的。所謂動態(tài)和靜態(tài)就是指內(nèi)存的分配方式。動態(tài)內(nèi)存是指在堆上分配的內(nèi)存,而靜態(tài)內(nèi)存是指在棧上分配的內(nèi)存,本文帶你深入探究C語言中動態(tài)內(nèi)存的管理
    2022-05-05
  • C++ vtordisp的應(yīng)用場景分析

    C++ vtordisp的應(yīng)用場景分析

    文章介紹了C++中的vtordisp機制,用于在虛繼承和虛函數(shù)結(jié)合的場景下,確保構(gòu)造函數(shù)和析構(gòu)函數(shù)中對虛基類指針的正確調(diào)整,文章詳細解釋了vtordisp的基本概念、應(yīng)用場景以及編譯器相關(guān)的考慮,感興趣的朋友一起看看吧
    2025-01-01
  • C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲

    C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++計算每個字符出現(xiàn)的次數(shù)

    C++計算每個字符出現(xiàn)的次數(shù)

    這篇文章主要介紹了C++計算每個字符出現(xiàn)的次數(shù)的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • C語言編寫五子棋游戲

    C語言編寫五子棋游戲

    這篇文章主要為大家詳細介紹了C語言編寫五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言規(guī)律循環(huán)累加求和案例

    C語言規(guī)律循環(huán)累加求和案例

    這篇文章主要介紹了C語言規(guī)律循環(huán)累加求和案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C++ 基于BFS算法的走迷宮自動尋路的實現(xiàn)

    C++ 基于BFS算法的走迷宮自動尋路的實現(xiàn)

    這篇文章主要為大家介紹了C++ 基于BFS算法實現(xiàn)走迷宮自動尋路,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言中魔性的float浮點數(shù)精度問題

    C語言中魔性的float浮點數(shù)精度問題

    這篇文章主要介紹了魔性的float浮點數(shù)精度問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 詳細了解C語言二叉樹的建立與遍歷

    詳細了解C語言二叉樹的建立與遍歷

    這篇文章主要介紹了C中二叉樹的建立和各種遍歷實例代碼,涉及樹節(jié)點的定義,后序遍歷,層序遍歷,深度優(yōu)先和廣度優(yōu)先等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下
    2021-07-07
  • C++求四個正整數(shù)最大公約數(shù)的方法

    C++求四個正整數(shù)最大公約數(shù)的方法

    這篇文章主要介紹了C++求四個正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-05-05

最新評論

宜宾县| 中西区| 克山县| 廊坊市| 秦皇岛市| 扎赉特旗| 车致| 武邑县| 竹山县| 池州市| 健康| 东兴市| 长泰县| 安义县| 彭水| 永丰县| 永宁县| 临澧县| 景东| 巴塘县| 安图县| 巫山县| 化德县| 忻州市| 中方县| 隆德县| 北辰区| 通道| 嘉善县| 龙川县| 琼海市| 镇巴县| 张家口市| 中超| 二连浩特市| 双牌县| 桑日县| 玉屏| 枣阳市| 镇江市| 航空|