Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > проблемы с ReadConsole


Автор: littlegreg 19.4.2011, 22:21
только начал изучать системное программирование, возникли проблемы при использовании функции ReadConsole, возникает ошибка access violation
Код

//read from console into buffer
#include <windows.h>
#include <stdio.h>
#include <conio.h>

int main()
{
    HANDLE hStdIn;
    LPTSTR lpszString;
    DWORD ToRead = 10, Read;
        
    hStdIn = GetStdHandle(STD_INPUT_HANDLE);
    SetConsoleMode(hStdIn, ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT);
    ReadConsole(hStdIn, lpszString, ToRead, &Read, NULL);

    printf("%s", lpszString);
    getch();

    return 0;
}


Автор: volatile 19.4.2011, 23:33
Вы не выделили память под буфер, в который хотите получить строку.
LPTSTR lpszString; TCHAR lpszString [ размер ];

Автор: littlegreg 20.4.2011, 01:55
точно, спасибо, теперь работает, только вот когда вывожу строку там бред какой-то

Автор: volatile 20.4.2011, 03:45
Цитата(littlegreg @  20.4.2011,  01:55 Найти цитируемый пост)
когда вывожу строку там бред какой-то 

юникодный текс выводите

printf("%s", lpszString); _tprintf(_T("%s"), lpszString);

предвижу следующий вопрос
а почему вместо русских букв бред какой-то
 smile 


Автор: littlegreg 20.4.2011, 13:44
спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)