-
Notifications
You must be signed in to change notification settings - Fork 4
/
utils.cpp
29 lines (25 loc) · 987 Bytes
/
utils.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "string.h"
#include "utils.h"
int ffc::getMagic(wchar_t* comment) {
wchar_t* pwc;
pwc = wcstok(comment, L"_");
pwc = wcstok(NULL, L"_");
pwc = wcstok(NULL, L"_");
if (pwc == NULL) return 0;
//std::wcout << "getMagic " << comment << "/" << _wtoi(pwc) << "\r\n";
return _wtoi(pwc);
}
int ffc::getMasterTicket(wchar_t* comment) {
wchar_t* pwc;
pwc = wcstok(comment, L"_");
pwc = wcstok(NULL, L"_");
if (pwc == NULL) return 0;
//std::wcout << "getMagic " << comment << "/" << _wtoi(pwc) << "\r\n";
return _wtoi(pwc);
}
///Êîïèðóåì ñòðîêó ñ++ â MQLSting (íà ñòîðîíå MQL áîëüøå íè÷åãî äåëàòü íå íàäî)
void ffc::writeMqlString(MqlString dest, wchar_t* source) {
int len = min(wcslen(source), dest.size - 1); //Îïðåäåëÿåì äëèíó ñòðîêè (íåáîëüøå ðàñïðåäåëåííîãî áóôåðà)
wcscpy_s(dest.buffer, len + 1, source); //Êîïèðóåì âêëþ÷àÿ òåðìèíèðóþùèé íîëü
*(((int*)dest.buffer) - 1) = len; // Çàïèñûâàåì äëèíó ñòðîêè (õàê, ìîæåò èçìåíèòüñÿ â áóäóþùèõ âåðñèÿõ òåðìèíàëà)
}