Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 25.11.2011
Сообщений: 10

Непонятки с чаром

29.11.2011, 00:17. Показов 638. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу написать обычную программу для записи текста введённого из Edit Control в txt-файл.
C++
1
2
3
4
5
6
7
8
9
10
11
DWORD i;
    filename=TEXT("d:\\lalala.txt");
    NumOfBytes=m_Screen.GetWindowTextLength();
    char* buf= new char [NumOfBytes];
    
    m_Screen.GetWindowText((LPTSTR)buf,NumOfBytes);
 
    FilePath=CreateFile(filename,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    
    WriteFile(FilePath,buf,NumOfBytes,&i,NULL);
    CloseHandle(FilePath);
если ввожу 1234567890 в файле сохраняется 12345.

Делал ещё так, строку
C++
1
char* buf= new char [NumOfBytes];
менял на
C++
1
TCHAR buf[100]
, выводит также 12345.
WriteFile возращает правильное кол-во записанных байт i. значит проблема в буфере. объясните какая.

и ещё вопрос: что делает эта запись (LPTSTR)buf? преобразование типов?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2011, 00:17
Ответы с готовыми решениями:

Что-то не то с чаром...
Крыша едет, дом стоит... char bukva={a,b,c,d,e}; что не так?

Непонятная ошибка с фором и чаром
Доброго времени суток. Не могу чего-то понять где у меня ошибка. Во первых for почему-то гонит (выполняет 2 раза printf), а во вторых идет...

Строки с Чаром (преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год»)
Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год». Например, «10.02.10» превращается в "февраль...

4
Заблокирован
29.11.2011, 00:34
Kooos,

У вас кодировка скорей всего многобайтная. И каждый символ у вас занимает два байта. Вам наверное надо в функции

C++
1
m_Screen.GetWindowText((LPTSTR)buf,NumOfBytes);
удвоить значение выражения NumOfBytes, или использовть что-то вроде NumOfBytes * sizeof( wchar_t )
1
0 / 0 / 1
Регистрация: 25.11.2011
Сообщений: 10
29.11.2011, 00:38  [ТС]
Спасибо. Заработало.
Кодировку можно как-то поменять?
0
Заблокирован
29.11.2011, 00:43
Цитата Сообщение от Kooos Посмотреть сообщение
Спасибо. Заработало.
Кодировку можно как-то поменять?
Если используете MS VC++, то проще всего ее поменять в свойствах проекта.
0
0 / 0 / 1
Регистрация: 25.11.2011
Сообщений: 10
29.11.2011, 02:21  [ТС]
ещё вопрос из той же области.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HANDLE FilePath;
 DWORD NumOfBytes;
DWORD i;
LPCTSTR filename=TEXT("d:\\lalala.txt");
FilePath=CreateFile(filename,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);  
NumOfBytes=GetFileSize(FilePath,NULL);
 
char* buff= new char [NumOfBytes];
    
ReadFile(FilePath,buff,NumOfBytes,&i,NULL);
  CString s,j;
    for (DWORD b=0; b<NumOfBytes;b++){
        j.Format(_T("%c"),*(buff+b)); s+=j;}
    m_Screen.SetWindowText(s);
    CloseHandle(FilePath);
так работает, но подскажите, можно вывести информацию на экран без перехода в CString?а то как-то совсем не красиво.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2011, 02:21
Помогаю со студенческими работами здесь

Непонятки с БП
Доброго времени суток,уважаемые гуру. Есть проблема с БП. Сами симптомы описаны давно в данной теме ...

Непонятки
Здравствуйте. Проверял позиции по СЧ... semonitor показал 40, goldposition.ru показал 1. Захожу на Яндекс, ищу свой сайт... он 38й. Пробую...

непонятки с Си
вобщем вот что задали Вот что я зделал при выполнении пишет s=none(или nane-как то так)/почему так?где ошибка? у кого то так же...

непонятки с for
Издавна мучает вопрос почему некоторые используют в цикле for ( int i = n; i &lt; m ; i++), а другая часть населения for ( int i = n; i &lt;...

Непонятки с while
Программа заменяет в строке точку на воскл. знак, а воскл. знак на два восклицательных. Ниже код, который работает, но если 7 и 8 строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru