000
16.11.2005, 17:39 Uhr
~Softwarenull
Gast
|
Leute, bitte helft mir, ich muss es so schnell wie möglich hinkriegen, Daten von einem Com-Port einzulesen und in eine Datei zu schreiben. Wie mein Nick schon sagt, bin ich ne Null bzw. nen Newbie in C++ und diesen seriellen-Com-Sachen. Ich hab nun erstmal nen Beispielcode von der msdn-Seite genommen und wollte es in VC++ ausprobieren, aber da gibts die unten stehenden Fehlermeldungen. Hab schon gelesen, dass das damit zusammenhängen könnte, dass ich so ne kostenlose Express-Version habe. Hier erstmal der Code
C++: |
#include "stdafx.h" #include <stdio.h> #include <afx.h>
int _tmain(int argc, _TCHAR* argv[]) { char *lpBuf=""; DWORD dwRead; DWORD READ_BUF_SIZE=0;; BOOL fWaitingOnRead = FALSE; OVERLAPPED osReader = {0}; HANDLE hComm;
hComm = CreateFile( TEXT("COM5:"), GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); if (hComm == INVALID_HANDLE_VALUE) // error opening port; abort
// Create the overlapped event. Must be closed before exiting // to avoid a handle leak. osReader.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (osReader.hEvent == NULL) // Error creating overlapped event; abort.
if (!fWaitingOnRead) { // Issue read operation. if (!ReadFile(hComm, lpBuf, READ_BUF_SIZE, &dwRead, &osReader)) { if (GetLastError() != ERROR_IO_PENDING) {} // read not delayed? // Error in communications; report it. else fWaitingOnRead = TRUE; } else { // read completed immediately /* HandleASuccessfulRead(lpBuf, dwRead); */ } } return 0; }
|
Vermutlich ist der Code echt Müll so, aber ich wollts nur mal ausprobieren. Allmählich wird die Zeit knapp und ich steh echt unter Druck, vielleicht könnt Ihr mich ja retten.
Die Fehlermeldungen: test.obj : warning LNK4229: invalid directive '/ignore:4089' encountered; ignored LINK : fatal error LNK1104: cannot open file 'uafxcwd.lib' |