|
|
|
не компилится
|
|||
|---|---|---|---|
|
#18+
Почему не компилится ошибка следующая Error 4 error C2664: 'CreateFileW' : cannot convert parameter 1 from 'char [128]' to 'LPCWSTR' #include <stdio.h> #include <conio.h> #include <windows.h> //#define CreateFile CreateFileW void main(int argc, char *argv[]) { char COM[16], FileName[128]; DWORD BaudRate; BYTE Buff[10]; DWORD nread,nwrite; strcpy(COM, "COM1"); BaudRate = 1200; strcpy(FileName, "file"); HANDLE port = CreateFile(COM, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (port==INVALID_HANDLE_VALUE) { printf("'%s' Open Error %d\n", COM, GetLastError()); exit(-1); } DCB dcb; if (GetCommState(port, &dcb)) { dcb.BaudRate = BaudRate; dcb.ByteSize = 7; dcb.Parity = 0; dcb.StopBits = 0; dcb.fBinary = 1; dcb.fOutxCtsFlow = 0; // CTS output flow control dcb.fOutxDsrFlow = 0; // DSR output flow control dcb.fDtrControl = 0; // DTR flow control type // dcb.fDsrSensitivity = 0; // DSR sensitivity dcb.fTXContinueOnXoff = 1; // XOFF continues Tx dcb.fOutX = 0; // XON/XOFF out flow control dcb.fInX = 0; // XON/XOFF in flow control dcb.fRtsControl = 0; // RTS flow control dcb.fAbortOnError= 0; // abort reads/writes on error SetCommState(port, &dcb); } COMMTIMEOUTS touts; if (GetCommTimeouts(port, &touts)) { touts.ReadIntervalTimeout = MAXDWORD; // ЁвҐаў « Ґ ЁбЇ®«м§гҐвбп touts.ReadTotalTimeoutMultiplier = 0; touts.ReadTotalTimeoutConstant = 0; // в ©¬ гв звҐЁп Ґ ЁбЇ®«м§гҐвбп // (з⥨Ґ ЎҐ§ ®¦Ё¤ Ёп) SetCommTimeouts(port, &touts); } EscapeCommFunction(port, SETDTR); EscapeCommFunction(port, SETRTS); for (;;) { nread=0; ReadFile(port, Buff, 1, &nread, NULL); if (nread==0) { // Ґв Ў ©в®ў Sleep(20); // § ¤Ґ¦Є } else { // Ґбвм printf(" %02X", Buff[0]); HANDLE file = CreateFile(FileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, 0, NULL); SetFilePointer(file, 0, NULL, FILE_END); WriteFile(file, Buff, 1, &nwrite, NULL); CloseHandle(file); } if (kbhit() && getch()==27) break; } CloseHandle(port); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 11:04 |
|
||
|
не компилится
|
|||
|---|---|---|---|
|
#18+
Если ты пытаешься компилить под вынь, то ты маленько не так делаешь, Если же ты компилить под Дос хотишь, то у тя комы работать не будут, т.к. только винда работает с комами как с потоком. Ну и ешо. Ты же указал(а) неверный тип потока тобишь филе. А именно вот параметры этой функции, ну и обрати внимание на самый первый параметр, и на его тип. А темерь на ошибку, а она говорит что не может первый параметр конвертировать с char в LPCTSTR Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ну а что касается ДОСа, то он работает с этими вещами исключительно по прерываниям. Мое почтение! Лишь ум потеряный безповоротно мною, Наполнит моё сердце мне тоскою. Ози Озборн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 11:18 |
|
||
|
не компилится
|
|||
|---|---|---|---|
|
#18+
Поробуй приведением типа, а именно Код: plaintext 1. Лишь ум потеряный безповоротно мною, Наполнит моё сердце мне тоскою. Ози Озборн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 14:31 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2030729]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 484ms |

| 0 / 0 |
