Я использую C ++ Builder 10.3.1 от Embarcadero Technology для разработки Windows 10 настольных компьютеров. Я конвертирую свой код в 64-битный. У меня есть код, использующий _wmemcpy. Ссылка ниже - это страница dockwiki Embarcadero для _wmemcpy. Внизу под «Переносимостью» указано, что _wmemcpy только для Win32. Я не могу найти рекомендованной замены для 64-битных программ.
Embarcadero docwiki для _wmemcpy
Ниже приведен код из моего файла C ++ и заголовочного файла .h, где _wmemcpy используется некоторое время l oop. Можете ли вы порекомендовать 64-битную замену для _wmemcpy.
// ФАЙЛ: AjIniSe c. cpp
#pragma hdrstop
#include "AjIniSec.h"
#include "AjIniVal.h"
#include <wchar.h>
#include <memory.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
__fastcall TAjIniSection::~TAjIniSection()
{
}
//-------------------------------------------------------------------
wchar_t* __fastcall TAjIniSection::WriteToStr(wchar_t* Str)
{
IniValIter Iter = FItems.begin();
IniValIter End = FItems.end();
while(Iter != End)
{
int Len = (*Iter).first.Length();
_wmemcpy(Str, (*Iter).first.c_str(), Len);
Str += Len;
*Str = L'='; ++Str;
Str = (*Iter).second.WriteToStr(Str);
++Iter;
}
return Str;
}
// ФАЙЛ: AjIniSe c .h
#ifndef AjIniSecH
#define AjIniSecH
#include <System.Classes.hpp>
#include <map>
#include "AjIniVal.h"
//---------------------------------------------------------------------------
class TAjIniVal;
typedef std::map<String, TAjIniVal> TAjIniValMap;
typedef TAjIniValMap::iterator IniValIter;
//---------------------------------------------------------------------------
class TAjIniSection
{
private:
TAjIniValMap FItems;
protected:
int __fastcall getSize();
public:
//--------------------
__fastcall TAjIniSection(){};
virtual __fastcall ~TAjIniSection();
//--------------------
bool __fastcall ReadBool(const String Ident, bool Default);
int __fastcall ReadInteger(const String Ident, int Default);
double __fastcall ReadFloat(const String Ident, double Default);
String __fastcall ReadString(const String Ident, String Default);
void __fastcall WriteString(const String Ident, String Value);
wchar_t* __fastcall ReadFromStr(wchar_t* Str);
wchar_t* __fastcall WriteToStr(wchar_t* Str);
__property int Size = {read=getSize};
};
//---------------------------------------------------------------------------
#endif