@Lifebinder
9 / 9 / 1
Регистрация: 04.10.2009
Сообщений: 102
|
|
|
23.07.2011, 00:32. Просмотров 616. Ответов 5
C++ | 1
2
3
4
5
6
7
8
9
| FILE* fl=fopen((ExtractFilePath(ParamStr(0))+r_buf[0]+".bin").c_str(), "w");
char* l=r_buf[1].c_str();
WORD l1=strlen(l);
fwrite(&l1,2,1,fl);
for (int i=0; i<strlen(l); i++)
fwrite(&l[i],1,1,fl);
fclose(fl); |
|
тут проблем нет.
при считывании первое число в 2 байта считывается нормально, а текст обращается в число и программа вылетает с ошибкой, ссылаясь на строку fclose(fl); .
что не так? туплю
C++ | 1
2
3
4
5
6
7
| FILE* fl=fopen((ExtractFilePath(ParamStr(0))+r_buf[0]+".bin").c_str(), "r");
WORD l; WORD a;
fread(&l,2,1,fl);
cout << l << endl;
fread(&a,(int)l,1,fl);
cout << a << endl;
fclose(fl); |
|
0
|