Почему Editbox не переводит строку
У меня на форме имеется EDITBOX
В него ввожу такую строку:"\x80\x3f\x3f\x80\x00\x00"
что должно соответствовать шестнадцатеричному: 80 3F 3F 80 00 00
Но на практике из EDITBOX'а получаю {"\x80\x3f\x3f\x80\x00\x00"}
////////////
char *Pat;
Pat=m_Pattern;
///////////////
m_Pattern - CString EDITBOX'а
Pat в итоге равно {"\x80\x3f\x3f\x80\x00\x00"}
если же
//////////////
char *Pat;
CString sPat;
sPat="\x80\x3f\x3f\x80\x00\x00";
Pat=sPat;
//////////////
то все нормально, т.е:
Pat= типа 80 3F 3F 80 00 00
но сдесь я задал \x80\x3f\x3f\x80\x00\x00 не из EDITBOX'а, а из кода проги.
Где теряется перевод строки в шестнадцатеричную?
Как с этим справиться?
Цитата:
Originally posted by Egorgiy
Такая проблема с MS C++:
У меня на форме имеется EDITBOX
В него ввожу такую строку:"\x80\x3f\x3f\x80\x00\x00"
что должно соответствовать шестнадцатеричному: 80 3F 3F 80 00 00
Но на практике из EDITBOX'а получаю {"\x80\x3f\x3f\x80\x00\x00"}
////////////
char *Pat;
Pat=m_Pattern;
///////////////
m_Pattern - CString EDITBOX'а
Pat в итоге равно {"\x80\x3f\x3f\x80\x00\x00"}
если же
//////////////
char *Pat;
CString sPat;
sPat="\x80\x3f\x3f\x80\x00\x00";
Pat=sPat;
//////////////
то все нормально, т.е:
Pat= типа 80 3F 3F 80 00 00
но сдесь я задал \x80\x3f\x3f\x80\x00\x00 не из EDITBOX'а, а из кода проги.
Где теряется перевод строки в шестнадцатеричную?
Как с этим справиться?
Такая проблема с MS C++:
У меня на форме имеется EDITBOX
В него ввожу такую строку:"\x80\x3f\x3f\x80\x00\x00"
что должно соответствовать шестнадцатеричному: 80 3F 3F 80 00 00
Но на практике из EDITBOX'а получаю {"\x80\x3f\x3f\x80\x00\x00"}
////////////
char *Pat;
Pat=m_Pattern;
///////////////
m_Pattern - CString EDITBOX'а
Pat в итоге равно {"\x80\x3f\x3f\x80\x00\x00"}
если же
//////////////
char *Pat;
CString sPat;
sPat="\x80\x3f\x3f\x80\x00\x00";
Pat=sPat;
//////////////
то все нормально, т.е:
Pat= типа 80 3F 3F 80 00 00
но сдесь я задал \x80\x3f\x3f\x80\x00\x00 не из EDITBOX'а, а из кода проги.
Где теряется перевод строки в шестнадцатеричную?
Как с этим справиться?
Локальные вырожения типа sPat="\x80\x3f\x3f\x80\x00\x00";
Это Escape Sequences выражения которые интерпретируются еще на стадии компиляции твоего кода и преобразуются в шестнадцатиричные числа,а то что у тебя есть в эдитбоксе и затем когда ты его получаеш возвращяет просто набор байтов так как они там написаны не используя никаких преобразований.
Для перевода строки необходимо вывести последовательно два символа (аск-коды соответственно)13 и 10 (конец строки и перевод каретки). Я тоже очень долго мучался, но потом разобрался.
Цитата:
Originally posted by Automat
Для перевода строки необходимо вывести последовательно два символа (аск-коды соответственно)13 и 10 (конец строки и перевод каретки). Я тоже очень долго мучался, но потом разобрался.
Для перевода строки необходимо вывести последовательно два символа (аск-коды соответственно)13 и 10 (конец строки и перевод каретки). Я тоже очень долго мучался, но потом разобрался.
А при чем тут перевод коретки,почитай внимательнее о чем человек пишет.