标签: memcpy

在C#中实现像CopyTo这样的memcpy()的简单方法

是否有一个"简单"的方式来实现类似CopyTo()MemberwiseCopy(而不是Clone()或者MemberwiseClone在C#)?我不想创建一个新对象,因为我希望每个拥有旧对象的人都能够看到新对象的属性,这可能是完全不同的.虽然大多数这些派生自一个可以保留一些抽象函数的父类,但我不想写几百行代码只是为了逐个复制每个成员.可能需要复制所有这些(糟糕的设计,但它不是我的,也不是被重写).看起来微软会为此创建一个界面,还是我错过了什么?

c# memcpy

0
推荐指数
1
解决办法
1738
查看次数

在C中,memcpy如何处理有符号整数参数?

在C中,如果我提供一个有符号整数,特别是一个负整数作为memcpy函数的第三个参数,会发生什么?

例:

 memcpy(destBuf, source, -100*sizeof(source))
Run Code Online (Sandbox Code Playgroud)

-100*sizeof(source)memcpy会将结果解释为unsigned吗?

谢谢!

c memcpy

0
推荐指数
1
解决办法
3421
查看次数

C++ struct array copy

我想使用memcpy将struct数组的元素复制到另一个.我相信这很可能导致我的程序由于某种原因而失败.另外我怎样才能释放内存?

struct FaultCodes
{
  string troubleFound;
  string causeCode;
  string actionCode;
  string paymentCode;
  string suppCode;
  u_int16_t multiplier;
};

struct JobFaultInfo
{
  static const size_t NUM_CODES = 5;
  FaultCodes codes[NUM_CODES];
};

FaultCodes codes[JobFaultInfo::NUM_CODES];
// I have populated codes with the data.

JobFaultInfo info;
memcpy(info.codes, codes, sizeof(FaultCodes)*JobFaultInfo::NUM_CODES);
Run Code Online (Sandbox Code Playgroud)

c++ arrays gcc struct memcpy

0
推荐指数
2
解决办法
2621
查看次数

使用memcpy和strtoul获取乱码而不是数字

我在gcc下编译了以下代码:

int parseMsg(const char *msg_to_parse, unsigned long *exp_input, unsigned long *sysTicks )
{
   int l_msg_size = strlen(msg_to_parse);
   if(l_msg_size <10)
          return -1;
    char l_exp_input_arr[10];
    char l_sys_ticks_arr[10];
    memcpy(l_sys_ticks_arr,msg_to_parse+12,10);

    memcpy(l_exp_input_arr,msg_to_parse,10);
   //l_msg_size = strlen(msg_to_parse);
    *sysTicks = strtoul(l_sys_ticks_arr,NULL,10);

   *exp_input = strtoul(l_exp_input_arr,NULL,10);



   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正试图以下列方式测试它:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int parseMsg(const char *msg_to_parse, unsigned long *exp_input, unsigned long *sysTicks );

int main(void) {
char msg[] = "1234567890  59876543213";
unsigned long along1, along2;
along1 =0;
along2=0;
parseMsg(msg,&along1, &along2 );
printf("result of parsing: \n \t …
Run Code Online (Sandbox Code Playgroud)

c string char memcpy strtol

0
推荐指数
1
解决办法
272
查看次数

从偏移位置开始复制存储器

我如何从给定的偏移量开始复制内存.例如

int main()
{
   int a1[100], a2[100], i;
   errno_t err;

   // Populate a2 with squares of integers
   for (i = 0; i < 100; i++)
   {
      a2[i] = i*i;
   }

   // Tell memcpy_s to copy 10 ints (40 bytes), giving
   // the size of the a1 array (also 40 bytes).
   err = memcpy_s(a1, sizeof(a1), a2, 10 * sizeof (int) );    
   if (err)
   {
      printf("Error executing memcpy_s.\n");
   }
   else
   {
     for (i = 0; i < 10; i++)
       printf("%d ", a1[i]); …
Run Code Online (Sandbox Code Playgroud)

c++ memcpy offset

0
推荐指数
2
解决办法
6783
查看次数

CUDA:如何将3D阵列从主机复制到设备?

我想学习如何将3维数组从主机内存复制到设备内存.假设我有一个包含数据的3d数组.例如int host_data [256] [256] [256]; 我想以这样的方式将数据复制到dev_data(设备数组),以便host_data [x] [y] [z] = dev_data [x] [y] [z]; 我该怎么做?以及如何访问设备中的dev_data数组?一个简单的例子非常有用.

arrays 3d cuda memcpy

0
推荐指数
1
解决办法
4149
查看次数

将模板指针传递给memcpy

为什么以下不编译:

struct Carrier
{
  void* data;
  int StrategyRequestType;

  Carrier(int StrategyRequestType )
  {
    StrategyRequestType = StrategyRequestType;
  }

  template <typename T>
  bool loadStrategyRequestType(T)
  {
    data = malloc(sizeof(T));
    memcpy ( data, &T, sizeof(T) );   // Syntax error here - "expected primary expression before ',' token"
    return true;
  }
};
Run Code Online (Sandbox Code Playgroud)

什么方法可以使它工作?

c++ templates memcpy

0
推荐指数
1
解决办法
815
查看次数

一旦位置接近100KB,就会在memcpy上发生段错误

我试图"打包"一个大的mmap()d文件,如下所示:

//numBytes is based on user input
data = static_cast<char*>(mmap((caddr_t)0, numBytes, PROT_READ, MAP_SHARED, myFile, 0));

int
Sender::Packetize(char* data, int numBytes)
{
    int seqNum = 1;
    int offset = 0;
    size_t totalPacked = 0;
    unsigned int length = sizeof(struct sockaddr_in);

    bool dataRemaining = true;
    while(dataRemaining)
    {
            //MTU = 1460
        size_t payloadSize;
        (numBytes > MTU) ? payloadSize = MTU : payloadSize = numBytes;
        char* payload = (char*)malloc(payloadSize);

        memcpy(payload, data, payloadSize);
        Packet pac = {seqNum, 0, payloadSize, payload}; //Basic struct

        totalPacked …
Run Code Online (Sandbox Code Playgroud)

c++ memcpy

0
推荐指数
1
解决办法
168
查看次数

memcpy反转数据,C语言

我在这里有一个疑问,我正在尝试将一个变量memcpy()复制string[9]到一个unsigned long long int变量,这里是代码:

unsigned char string[9] = "message";
string[8] = '\0';
unsigned long long int aux;

memcpy(&aux, string, 8);
printf("%llx\n", aux); // prints inverted data

/* 
 * expected: 6d65737361676565
 *  printed: 656567617373656d
 */
Run Code Online (Sandbox Code Playgroud)

如何在不反转数据的情况下制作此副本?

c memcpy string.h

0
推荐指数
2
解决办法
110
查看次数

cpp中的并行memcpy

我正在尝试并行复制矩阵。下面是我正在使用的代码。目前,它可以与char一起正常工作,但是当我使用短裤时它会出现段错误。我认为错误在于复制向量之外的内存。我试图调试我的假设,但没有成功。

CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(memcpy CXX)
find_package (Threads)
add_executable(memcpy main.cpp)
set_property(TARGET memcpy PROPERTY CXX_STANDARD 17)
target_link_libraries (memcpy ${CMAKE_THREAD_LIBS_INIT})
Run Code Online (Sandbox Code Playgroud)

main.cpp

#include <cassert>
#include <condition_variable>
#include <cstring>
#include <iostream>
#include <mutex>
#include <string>
#include <thread>
#include <vector>


class Barrier {
  public:
    explicit Barrier(std::size_t const count) : m_threshold(count), m_remaining(count), m_generation(0) {}

    void wait() {
        auto local = std::unique_lock<std::mutex>{m_mutex};
        auto current_generation = m_generation;

        m_remaining--;
        if (!m_remaining) {
            m_generation++;
            m_remaining = m_threshold;
            m_condition.notify_all();
        } else {
            m_condition.wait(local, [this, current_generation] { return current_generation != m_generation; }); …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading pointers memcpy c++14

0
推荐指数
1
解决办法
321
查看次数

标签 统计

memcpy ×10

c++ ×5

c ×3

arrays ×2

3d ×1

c# ×1

c++14 ×1

char ×1

cuda ×1

gcc ×1

multithreading ×1

offset ×1

pointers ×1

string ×1

string.h ×1

strtol ×1

struct ×1

templates ×1