проблема в написании символа в * .TXT файле в MQL - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь прочитать из файла TXT, выполнить некоторые вычисления и записать его обратно в другой файл TXT, но когда я читаю символ, он меняется на номер ASCII (например, «1» преобразуется в 50), и когда япопробуйте записать это в другой файл, это номер ASCII.Как я могу изменить его на того персонажа, которого я хочу?

int wf=FileOpen("wf.txt",FILE_WRITE|FILE_ANSI|FILE_TXT);
int rf=FileOpen("rf.txt",FILE_READ|FILE_ANSI|FILE_TXT);
str_size=FileReadInteger(rf,INT_VALUE);  //the TXT I read is 1234
str=FileReadString(rf,str_size);
StringToCharArray(str,data1,0,StringLen(str));
RandonNum[0]= str[1];
RandonNum[1]= str[2];
RandonNum[2]= str[3];
FileWrite(wf,str[1],str[2],str[3]);     //the TXT I write is 505152

1 Ответ

0 голосов
/ 28 мая 2019

FileReadInteger() зарезервировано для файлов двоичного типа.

К сожалению, это явно не указано в документации.

Используйте FileReadNumber() для чтения числа из текстового файла.Он вернет число в виде двойного числа, но его можно привести к целому числу, используя приведение типа (int)double_value.

...