
26.06.2008, 21:01
|
|
Постоянный
Регистрация: 13.02.2007
Сообщений: 406
С нами:
10126406
Репутация:
206
|
|
подскажите плз в чём прикол последняя строка ч ошибкой вылетает, компилирую vc++ 6;
#include "stdafx.h"
#include "winsock.h"
#include <string.h>
#include "winbase.h"
#include <stdlib.h>
#include <iostream.h>
#pragma comment(lib,"ws2_32")
int main(int argc, char* argv[])
{
char *file="C://host.txt";
HANDLE filhend;
DWORD dw;
int i,j;
char *buff, *stroka;
filhend=CreateFile(file,GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
DWORD razm=GetFileSize(filhend, NULL);
buff = (char *)malloc(razm+1);
stroka = (char *)malloc(razm+1);
for(i=0;i<=razm;i++) {stroka[i]='\0'; buff[i]='\0';}
//DWORD razm=GetFileSize(filhend, NULL);
//cout << razm;
ReadFile(filhend, buff, razm/*127*/, &dw, 0 );
CloseHandle(filhend);
MessageBox(0,buff,"123",MB_OK);
i=0; j=0;
while(j<=razm){
while((buff[j]!=0x0D) || (j>=razm))
{
stroka[i]=buff[j];
j++; i++;
}
MessageBox(0,stroka,"123",MB_OK);
//for(int k=0;k<=j;k++) stroka[k]='\0';
j=j+2; i=0;
//if (buff[i]='!') {break;}
}
//CloseHandle(filhend);
return 0;
}
=================
разобрался
Последний раз редактировалось SVAROG; 27.06.2008 в 22:02..
|
|
|

26.06.2008, 21:19
|
|
Постоянный
Регистрация: 13.02.2007
Сообщений: 406
С нами:
10126406
Репутация:
206
|
|
|
|
|

26.06.2008, 21:29
|
|
Познающий
Регистрация: 22.03.2008
Сообщений: 63
С нами:
9546362
Репутация:
65
|
|
Сообщение от SVAROG
подскажите плз в чём прикол последняя строка ч ошибкой вылетает, компилирую vc++ 6;
}
Сам текст правильный, что именно за ошибка, скажи?
|
|
|

26.06.2008, 22:14
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
С нами:
10042776
Репутация:
275
|
|
SVAROG
заметил:
char *file="C://host.txt"
в винде обратный слэш, т.е. "C:\\host.txt"
p.s. нужно выкладывать текст ошибки.
|
|
|

27.06.2008, 19:35
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
С нами:
9622901
Репутация:
88
|
|
Есть код:
Код:
int BuffLen=(Param1c>>3)-(Param18>>3);
int EAX=(Param1c+Param18)&7;
if(EAX) Temp[BuffLen-2]&=(0xff)<<(8-EAX);
int ESI = Param18&7;
что делает ">>", "<<" и "&" ???
|
|
|

27.06.2008, 20:05
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
Си толком не знаю, но подозреваю что смещение бит тройки на Param1c и Param18
& - логическое и
|
|
|

27.06.2008, 20:31
|
|
Постоянный
Регистрация: 13.02.2007
Сообщений: 406
С нами:
10126406
Репутация:
206
|
|
нужно переменную int загнать в char, я использовал
функцию itoa а она в конец массива дописывает два байта \x00\xCC как их оттуда убрать?
з.ы пишу почти первую программу на си))
|
|
|

27.06.2008, 22:11
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
С нами:
9622901
Репутация:
88
|
|
Есть char массив в С++
Код:
char * test=new char[5];
test[0]=0x39;
test[1]=0x32;
test[2]=0x33;
test[3]=0x34;
test=test+2; //массив сместится на 2 байта: test[0] бдет равно 0х33, test[4]=0x34 и т.д.
При попытке сделать такое смещение в С# вылетает ошибка Error 2 Operator '+' cannot be applied to operands of type 'byte[]' and 'int'
как быть???
|
|
|

27.06.2008, 22:14
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
мб
test=*(&test+2);
|
|
|

27.06.2008, 22:22
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
С нами:
9622901
Репутация:
88
|
|
Piflit, нет, не помогло.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|