lvclassbuffer.cpp

来自「labview编程100例」· C++ 代码 · 共 57 行

CPP
57
字号
/**
	\date	    June 17, 2005
    \author		Qizhen Ruan
*/

#include "LvClassBuffer.h"
#include <memory.h>

// General Class
int __stdcall CreateBuffer(const char data[], int size, char** bufPointer)
{
	char* buffer = new char[size+4];
	*((int*)buffer) = size;
	memcpy (buffer+4, data, size);
	*bufPointer = buffer;
	return 0;
}

int __stdcall DestroyBuffer(char* bufPointer)
{
	delete[] bufPointer;
	return 0;
}

int __stdcall GetBufferSize(char* bufPointer, int* size)
{
	*size = * ((int*)bufPointer);
	return 0;
}

int __stdcall GetBufferData(char* bufPointer, char* data)
{
	int size = * ((int*)bufPointer);
	memcpy (data, bufPointer+4, size);
	return 0;
}

int __stdcall SetBufferData(char* bufPointer, const char data[])
{
	int size;
	GetBufferSize(bufPointer, &size);
	memcpy (bufPointer+4, data, size);
	return 0;
}

int __stdcall CopyBuffer(char* bufPointer, char** newBufPointer)
{
	int size = * ((int*)bufPointer);

	char* buffer = new char[size+4];
	*((int*)buffer) = size;
	memcpy (buffer, bufPointer, size+4);
	*newBufPointer = buffer;

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?