Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 249
#1

WriteFile - C++

25.02.2013, 19:05. Просмотров 438. Ответов 2
Метки нет (Все метки)

есть к примеру строка:
string h = "2 3\r\n";

как можно переменную h использовать в WriteFile:


Вот так работает: WriteFile(... , "2 3\r\n" , h.length()-1, ... ,NULL);

А так WriteFile(... , h , h.length(), ... ,NULL); нет.
Ну, это и понятно, нужно использовать указатели, например, так:
char buf[100];
*buf = s[0];
WriteFile(... , buf , h.length()-1, ... ,NULL);

но тоже не работает?
Помогите разобраться, в чем ошибка?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2013, 19:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос WriteFile (C++):

[C] ReadFile/WriteFile - C++
Всем доброго времени суток! Есть вроблема с програмкой ,а именно: Unhandled exception at 0x010b1493 in lab3.exe: 0xC0000005: Access...

Com port (writefile кривая работа) - C++
Подскажите в чём дело? Пишу терминалку для управления мк. Необходимо отправить массив из трёх байт. В место трёх байт на мк приходит 1...

Почему WriteFile не отправляет сообщение по каналу Pipe - C++
Почему WriteFile не отправляет сообщение по каналу Pipe ситуация следующая , есть два приложения на с++ я написал сервер который...

Writefile() & String - В контроллер приходит не то, что было отправлено - C++
Почему отправляю в com порт "Device?\n" а в котроллер приходит "ppDevice?\n" ???? void Com::Send_package(String str) { char...

WriteFile - C++ Builder
Есть 3 массива! а1, а2, а3! Как с помощью WriteFile, записать в фаил поочередно эти три массива! Фаил не должен перезаписываться! Он должен...

Функция WriteFile - C++ WinAPI
Помогите пожалуйста разобраться, как работает эта функция. Нашел много источников, где она описана, но так как я новичок, то нуждаюсь в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
25.02.2013, 20:02 #2
Вы пытаетесь сохранить один тип данных (string), а записать обратно совсем другой (char). То, что h.length() показывает размер используемых символов не означает, что он зарезервировал именно это количество байт, он может зарезервировать и больше. Лучше всего использовать структуру с чётким выделеным количеством памяти и одинаковыми типами например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
 
int main ()
{
    char str1[12] = "Hello world";
    char str2[12];
 
    std::ofstream out("tmp.dat", std::ios::out | std::ios::binary);
    out.write(reinterpret_cast<char*>(str1), sizeof(str1));
    out.close();
 
    std::ifstream in("tmp.dat", std::ios::in | std::ios::binary);
    in.read(reinterpret_cast<char*>(str2), sizeof(str2));
    in.close();
 
    std::cout << str2 << '\n';
    
    return 0;
}
1
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 249
25.02.2013, 20:48  [ТС] #3
Извините, но это не то. Мне нужно именно через WriteFile, чтобы разобраться с этим:
Перехват потоков ввода/вывода
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 20:48
Привет! Вот еще темы с ответами:

WriteFile в FASM - Assembler
Плз подскажите как пользоваться с функцией WriteFile в FASM. Файл создал с помощью CreateFile, но запись почему-то не идет invoke...

WriteFile - ERROR_INVALID_USER_BUFFER - C++ WinAPI
Здравстуйте, вот программа сохраняющая картинку из ресурсов на жёсткий диск: #include &lt;windows.h&gt; int WINAPI WinMain(HINSTANCE...

Атомарна ли WriteFile - C++ WinAPI
Здравствуйте. Открыт один файл, несколько потоков использую его хэндл для записи (логирование). После каждого вызова WriteFile...

CreateFile, WriteFile - C++ WinAPI
Подскажите работающий код программы на с++, которая создаёт файл с помощью CreateFile


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru