FillConsoleOutputCharacter stürtzt ab :(
-
Hi
wenn ich "FillConsoleOutputCharacter" aufrufe, stürtzt mein Programm ab. Was hab ich falsch gemacht??
HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); TCHAR cCharacter = 49; // == '1' DWORD nLength = 4; COORD dwWriteCoord; dwWriteCoord.X=10; dwWriteCoord.Y=10; LPDWORD lpNumberOfCharsWritten; FillConsoleOutputCharacter(hConsoleOutput, cCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten);
-
mmm. Nachdem ich den getch(); ersatz geschrieben habe, stürtzt das Programm erst nach dem system("pause"); ab. (Es wird aber was ausgegeben)
int iInput = 0; char cInput = 0; static HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); static HANDLE hConsoleInput = GetStdHandle(STD_INPUT_HANDLE); //getch() //-----Begin DWORD dwMode = 0; GetConsoleMode(hConsoleInput,&dwMode); SetConsoleMode(hConsoleInput,0); DWORD dwRead = 0; ReadConsole(hConsoleInput,&cInput,1,&dwRead,0); SetConsoleMode(hConsoleInput,dwMode); //-----End TCHAR cCharacter = '1'; DWORD nLength = 1; COORD dwWriteCoord; dwWriteCoord.X=10; dwWriteCoord.Y=10; LPDWORD lpNumberOfCharsWritten; FillConsoleOutputCharacter(hConsoleOutput, cCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten); system("pause"); return iInput;
-
Die MSDN Library sagt:
pNumberOfCharsWritten:
Pointer to a variable that receives the number of characters actually written to the console screen buffer.Bei dir ist das einfach nur ein uninitialiserter Zeiger.
-
MFK schrieb:
Bei dir ist das einfach nur ein uninitialiserter Zeiger.
ja, diese blöden mickrichweich-typen. leicht zu übersehen sowas.
so sollte es gahen:... DWORD NumberOfCharsWritten; FillConsoleOutputCharacter(hConsoleOutput, cCharacter, nLength, dwWriteCoord, &NumberOfCharsWritten);
-
danke, funzt