The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Глючит прога"
Отправлено Xenu, 07-Фев-05 06:13 
>>Ну тогда что есть s_users[] и какова длина буфера line. Особенно последнее.
>>
>>
>>Кстати, а где изменяется u_index ? :)
>
>Я творчески порезал :-) Он увеличивается, это я тебя могу заверить, проверял,
>дебажил :-)
>   char s_users[4][128];
>   char line[128];
>
> u_index++ у меня стоит в цикле while, не работает просто как
>раз именно этот кусок.

а что вообще этот код должен делать? нет не в общем, а по шагам.
TData_LoginInfo *strLogin;
объявили указатель на структуру

strLogin=(TData_LoginInfo*) malloc(sizeof(strLogin));
выделили память под структуру, но размером с указатель. На это уже внимание обратили.

if((fd = fopen("rreg51.lst", "r"))!=NULL)
{
открыли файл на чтение и проверили, что открылось
  fFinish = fopen(fOut, "w" );
открыли файл на запись, но не проверили. может быть позже есть проверка
  while((fgets(line,100,fd )!=NULL) && (u_index<8100))
  {
читаем из файла по строкам, пока есть что читать и индекс не превысил 8100
     sscanf(line,"%s\t%s\t%s\t%s", s_users[0], s_users[1], s_users[2], s_users[3]);
распихали прочитанное по массиву строк.
     strLogin=(TData_LoginInfo*) realloc(strLogin, sizeof(strLogin));
перевыделили память под структуру, но опять размером с указатель
     strLogin[u_index].login=atoi(s_users[0]);
записываем хрен знает куда, потому что память выделена на 4 байта, примем что размер указателя 4 байта, а конструкция strLogin[u_index] подразумевает, что по strLogin выделена память под u_index * sizeof(структуры) как минимум.
   }

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру