Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
1

При записи Лога не заполняется файл

20.07.2015, 13:48. Показов 579. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, подключил к готовому проекту Лог файл, чтобы прочитать некоторые данные. И из одних классов и функции все читается а из других ничего не записывается.

Сам лог работает нормально, когда два многоугольника бьются запускается функция считающая их скорости после удара, в ней я создаю лог файл и начинаю записывать данные, но Лог файл остается пустым. Вообщем совсем не знаю в чем дело. Заранее спасибо!

вот код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
void Manifold::ApplyImpulse( void )
{
  // Early out and positional correct if both objects have infinite mass
  
    Log* log1 = new Log("D:\\Engine_log.txt\n");
  log1->print("void Manifold::ApplyImpulse\n") ;
 
    
    if(Equal( A->im + B->im, 0 ))
  {
    InfiniteMassCorrection( );
    return;
  }
 
  
  for(uint32 i = 0; i < contact_count; ++i)
  {
    // Calculate radii from COM to contact
    Vec2 ra = contacts[i] - A->position;
    Vec2 rb = contacts[i] - B->position;
    log1->print("ra=(%f , %f)\n", ra.x,ra.y) ;
    log1->print("rb=(%f , %f)\n", rb.x,rb.y) ;
 
 
    // Relative velocity
    Vec2 rv = B->velocity + Cross( B->angularVelocity, rb ) -
              A->velocity - Cross( A->angularVelocity, ra );
 
    log1->print("rv=(%f , %f)\n", rv.x,rv.y) ;
    
 
    // Relative velocity along the normal
    real contactVel = Dot( rv, normal );
    log1->print("contactVel = %f\n", rv.x,rv.y) ;
 
    // Do not resolve if velocities are separating
    if(contactVel > 0)
      return;
 
    real raCrossN = Cross( ra, normal );
    log1->print("raCrossN  = %f\n", raCrossN ) ;
    real rbCrossN = Cross( rb, normal );
    log1->print("rbCrossN  = %f\n", rbCrossN ) ;
 
    real invMassSum = A->im + B->im + Sqr( raCrossN ) * A->iI + Sqr( rbCrossN ) * B->iI;
 
    // Calculate impulse scalar
    real j = -(1.0f + e) * contactVel;
    j /= invMassSum;
    log1->print("j не поделенный на количество точек контакта  = %f\n", j ) ;
    j /= (real)contact_count;
    log1->print("(real)contact_count = %f\n", (real)contact_count ) ;   
 
 
    // Apply impulse
    Vec2 impulse = normal * j;
    log1->print("impulse =( %f, %f )\n", impulse.x, impulse.y ) ;
 
    A->ApplyImpulse( -impulse, ra );
    B->ApplyImpulse(  impulse, rb );
 
    // Friction impulse
    rv = B->velocity + Cross( B->angularVelocity, rb ) -
         A->velocity - Cross( A->angularVelocity, ra );
 
    Vec2 t = rv - (normal * Dot( rv, normal ));
    t.Normalize( );
 
    // j tangent magnitude
    real jt = -Dot( rv, t );
    jt /= invMassSum;
    jt /= (real)contact_count;
 
    // Don't apply tiny friction impulses
    if(Equal( jt, 0.0f ))
      return;
 
    // Coulumb's law
    Vec2 tangentImpulse;
    if(std::abs( jt ) < j * sf)
      tangentImpulse = t * jt;
    else
      tangentImpulse = t * -j * df;
 
    // Apply friction impulse
    A->ApplyImpulse( -tangentImpulse, ra );
    B->ApplyImpulse(  tangentImpulse, rb );
  }
}
Добавлено через 1 час 42 минуты
бред блин... что за фигня

Добавлено через 2 минуты
нашел, ошибка в строке Log* log1 = new Log("D:\\Engine_log.txt\n"); убрать нужно символ \n. Твою дивизию..Всем спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2015, 13:48
Ответы с готовыми решениями:

Класс для записи лога программы. Как правильно закрыть файл?
Ребята (и девчата :D), помогите допилить класс для логирования программы, что бы можно использовать...

Блокируется файл лога при отправке по почте в третий раз
Есть функция отправки сообщения с логом работы приложения: private void SendReport() ...

При сериализации xml файл заполняется неккоректно
Всем привет. Пишу небольшую программку для личных нужд. Хранение данных предусматриваю в xml-файле....

Заголовок записи сам заполняется из текста записи
Подскажите, как сделать, чтобы заголовок записи, при ее сохранении в окне редактирования заполнялся...

2
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
20.07.2015, 13:49 2
Цитата Сообщение от bazelbodayFaron Посмотреть сообщение
бред блин... что за фигня
Где реализация класса Log?
1
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 339
20.07.2015, 15:09  [ТС] 3
уже нашел решение, спасибо
0
20.07.2015, 15:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2015, 15:09
Помогаю со студенческими работами здесь

Выбрать записи из лога
Привет. Шеф поставил задачу проанализировать трафик IP-телефонии. Есть сервер, куда все циски...

Проверка на совпадение последней и следующей записи при записи в файл
Доброго времени суток) У меня в файл записывается произошло соединение с сервером или нет, но...

Нужна помощь гуру в разборе лога отправики и чтения лога
Уважаемые специалисты в ARM Sortix. Нужна помощь в разборе лога отправки и чтения Sortix-R по...

Ведение лога ошибок, отправка лога на e-mail
подскажите как дописать кусочик. есть vbs фаил,есть запрос , запрос берёт инфу и отправляет на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru