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

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

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

代碼如下所示:
復制代碼 代碼如下:

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

復制代碼 代碼如下:

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)
 {//對應圖中2,3,4三種情況,賦值過程中,src中未使用的不會被覆蓋
  char* de = (char*)dest;
  const char* sr = (const char*)src;
  while (n--)
  {
   *de++ = *sr++;
  }
 }
 else
 {//對應圖中的第一種情況
  char* de = (char*)dest + n -1;
  const char* sr = (const char*)src + n - 1;
  while (n--)
  {
   *de-- = *sr--;
  }
 }
 return dest;
}

復制代碼 代碼如下:

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; 


復制代碼 代碼如下:

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;  
}

相關文章

  • 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的應用場景分析

    C++ vtordisp的應用場景分析

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

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

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

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

    這篇文章主要介紹了C++計算每個字符出現(xiàn)的次數(shù)的相關資料,需要的朋友可以參考下
    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ù)精度問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 詳細了解C語言二叉樹的建立與遍歷

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

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

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

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

最新評論

丹巴县| 桦甸市| 夏津县| 清水河县| 广宗县| 安庆市| 蒙城县| 顺昌县| 塘沽区| 双鸭山市| 横山县| 天全县| 镇沅| 榕江县| 东阳市| 永嘉县| 蕲春县| 陆河县| 略阳县| 福建省| 长沙市| 万山特区| 北流市| 石楼县| 周宁县| 东安县| 泾源县| 柘荣县| 翁牛特旗| 青铜峡市| 灌阳县| 开封市| 浮梁县| 万全县| 阿克| 自治县| 聂拉木县| 清新县| 伊川县| 麻江县| 荃湾区|