Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 327
#1

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

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

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

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

вот код :
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
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2015, 13:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При записи Лога не заполняется файл (C++):

Баг при использовании класса string при записи в бинарный файл - C++
При записи в бинарный файл пользовательского класса, всё отлично отрабатывает, но, если в классе использовался класс string, то в конце...

Абракадабра при записи в файл и при чтении из него кириллицы - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ofstream f(&quot;text.dat&quot;); f &lt;&lt; &quot;Тест&quot;; ...

Знаю что информация неправильно преобразовывается при записи в файл, скорее всего и при считывании тоже. Как это исправить? - C++
Знаю что информация неправильно преобразовывается при записи в файл, скорее всего и при считывании тоже. Как это исправить? Вот что...

Ошибка при записи в файл - C++
Помогите добить задачку на С++. В общем прога работает правильно вот только когда идет запись в файл, то в файле находятса не данные...

Ошибка при записи в файл - C++
помогите, вылетает ошибка при записи в файл ф-я void add_in_file(int n) что не так? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Вылет при записи структуры в файл [C++] - C++
Здраствуйте! Я совсем недавно начал изучать C++. конечно же, написал калькулятор, и теперь решил написать небольшую игру-рогалик с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
20.07.2015, 13:49 #2
Цитата Сообщение от bazelbodayFaron Посмотреть сообщение
бред блин... что за фигня
Где реализация класса Log?
1
bazelbodayFaron
2 / 2 / 4
Регистрация: 30.05.2013
Сообщений: 327
20.07.2015, 15:09  [ТС] #3
уже нашел решение, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2015, 15:09
Привет! Вот еще темы с ответами:

Мусор при записи значений в файл - C++
Дорого времени суток господа! Извиняюсь, если где-то уже была создана такая тема и я не поискал ее. При записи букафф в файл вылезая...

Непонятные символы при записи в файл - C++
Доброго времени суток. Вот снова прошу о помощи гуру программирования. Код еще не дописан, но возникли большущие проблемы с работой с...

Перевод строки при записи в файл - C++
Почему при выводе на экран оператор endl; переводит строку на новую, а при записи в файл не переводит, а печатает всё в строчку ? ...

Проверка на повтор при записи в файл - C++
Уважаемые, нужна помощь!!Суть вот в чём, в файл записываются данные(символы, цифры и т.п) и надо сделать так, что бы не было повторов, ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru