Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Заблокирован

Запись в файл по нажатию кнопки

04.05.2014, 00:27. Показов 2245. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не происходит запись в файл . Файл создаётся , но строка в нём так и не появляется:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
LPCVOID buf ="hello";
 
  switch (uMsg)
 {
 
case WM_COMMAND:
 
               if(LOWORD(wpar)==SELECT)
               {
                HANDLE file;
                file = CreateFile ((LPCSTR)"D:\\1.txt", GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE | FILE_SHARE_READ,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
                
                
                WriteFile(file,&buf ,sizeof(buf) ,NULL , NULL);
                if(!WriteFile)MessageBox(hwnd,(LPSTR)"error",(LPCSTR)"",MB_OK);
               }
 
               
              
              break;
Что я не правильно делаю?

Добавлено через 9 минут
уже вроде записывается, только вместо строки - непонятные символы..((
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2014, 00:27
Ответы с готовыми решениями:

Запись в текстовый файл по нажатию кнопки
Подскажите, как в MS Visual C++ для приложения Windows Forms сделать так, чтобы при нажатии кпонки, находящейся на форме, происходила...

Запись содержимого TextBox в файл по нажатию кнопки
Помогите пожалуйста с записью содержимого в текст-боксах в текстовый файл, обшарил интернет ничего не работает. Вот код: #pragma once ...

Запись данных в XML файл из TextBox по нажатию кнопки
Помогите пожалуйста. Как можно сделать запись строки в XML файл,в определенный тэг, из текстбокса?Если не сложно приведите пример кода:-[

6
 Аватар для BeginerMan
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
04.05.2014, 00:59
У меня всё нормально вписалось )))
Просто слово hello через пробелы написаны.

Добавлено через 8 минут
А вообще я предпочитаю использовать библиотеку fstream
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fstream>
using namespace std;
 
case WM_COMMAND:
{
    if(LOWORD(wParam)==BUTTON){
 
        char str[10] = "hello";
        ofstream file("1.txt");
        if(file.fail()) MessageBox(NULL,L"ошибка",L"ошибка",MB_OK);
        file << str;
        file.close();
    }
    break;
}
1
Заблокирован
04.05.2014, 10:08  [ТС]
Спасибо, так получилось нормально записать )
А вот если записывать через ofstream не просто строку , а , например , содержание ListBox - такое возможно?
0
 Аватар для BeginerMan
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
04.05.2014, 11:25
Конечно можно
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.05.2014, 11:52
C++
1
file = CreateFile ((LPCSTR)"D:\\1.txt", ...
Вот и ошибка. И не только здесь. Посмотрите, что такое LPCSTR.
Если проект настроен на использование юникода, - а по умолчанию
обычно так и есть, - то LPSTR и LPCSTR - это указатель на wchar_t-строку, а
не на char-строку.
0
 Аватар для BeginerMan
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
04.05.2014, 12:13
Убежденный
Вроде же LPWSTR и LPCWSTR - указатель на wchar_t ,
а LPSTR и LPCSTR - указатель на char.
Разве не ?
1
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.05.2014, 12:55
BeginerMan, точно ! Мой косяк, перепутал с LPTSTR.

Misha_cpp, еще парочка комментариев:

C++
1
WriteFile(file,&buf ,sizeof(buf) ,NULL , NULL);
Во-первых, не проверяется возвращаемое значение.
Значит, успешно или неуспешно завершилась функция записи в файл - неизвестно.

Во-вторых, buf - это указатель. Значит, sizeof (buf) всегда будет возвращать
значение, равное sizeof (void *), т.е. 4 байта (на x86).

В-третьих, четвертый параметр WriteFile должен быть указателем на DWORD-
переменную, куда функция запишет число записанных байт. А не NULL.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2014, 12:55
Помогаю со студенческими работами здесь

Не удаляется запись из базы по нажатию кнопки
$connection = mysql_connect('localhost', 'root', ''); $db = mysql_select_db(&quot;myadmin&quot;); if(!$connection || !$db) { exit...

Запись данных из формы в таблицу по нажатию кнопки
Здравствуйте, помогите пожалуйста сделать форму, в ней есть несколько полей и соответствующие им надписи сверху, кнопка...

Запись строки в таблицу по нажатию кнопки в Access
Подскажите пожалуйста: есть форма со списком товаров. напротив каждой стоки есть кнопка, по нажатии которой вся строка, напротив которой...

Запись данных в БД посредством JTextField по нажатию кнопки
Сразу к делу. Есть БД в SQL все подключается, инсталлируется и даже удаляется. При добавлении записей посредство JPanel, на которой есть...

Запись и удаление записи в ListBox по нажатию кнопки
Здравствуйте, необходимо удалить строку из listbox . При нажатии кнопки появляется запись в listbox после отпускания кнопки запись должна...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru