Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2016, 13:10   #1
Danila.ivlev
Новичок
Джуниор
 
Регистрация: 13.05.2016
Сообщений: 2
По умолчанию Прошу помощи! запись в файл!

Здравствуйте, прошу прощения за созданную новую тему помогите пожалуйста с записью значений в файл.
Имею данную часть кода, необходимо, чтобы рассчитанные значения переменных m_numX+ и m_numY+ записывались в файл. нашел массу примеров, ни один не работает =( помогите пожалуйста. Заранее спасибо!
Код:
//Расчет нового положения по таймеру
    virtual void HandleTimerUpdate(
                int nLeftTimeFromLastCall)
        {
          m_numX+=
            m_numVelocityX*nLeftTimeFromLastCall/1000;
          m_numY+=
            m_numVelocityY*nLeftTimeFromLastCall/1000;

        }
Danila.ivlev вне форума Ответить с цитированием
Старый 14.05.2016, 07:20   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Danila.ivlev что бы мы понимали друг друга скажи: Что такое переменная "m_numX+"?

Дело в том, что знак "+" нельзя использовать в имени переменной, а выражение

m_numX+=
m_numVelocityX*nLeftTimeFromLastCal l/1000;

эквивалентно выражению:

m_numX=m_numX+
m_numVelocityX*nLeftTimeFromLastCal l/1000;


Короче: попробуй вывести в файл не "m_numX+", а просто "m_numX".
ura_111 вне форума Ответить с цитированием
Старый 15.05.2016, 16:02   #3
Danila.ivlev
Новичок
Джуниор
 
Регистрация: 13.05.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Danila.ivlev что бы мы понимали друг друга скажи: Что такое переменная "m_numX+"?

Дело в том, что знак "+" нельзя использовать в имени переменной, а выражение

m_numX+=
m_numVelocityX*nLeftTimeFromLastCal l/1000;

эквивалентно выражению:

m_numX=m_numX+
m_numVelocityX*nLeftTimeFromLastCal l/1000;


Короче: попробуй вывести в файл не "m_numX+", а просто "m_numX".
хорошо. далее в коде у меня есть место, где генерируются раз в секунду значения этих переменных, m_munX, m_numY(координаты точки). Эти переменные тоже можно записать в файл. Вопрос в том, какие команды и как надо ввести, чтобы все работало нормально? не смог найти ни одного примера с подробными комментариями, поэтому и прошу помощи здесь...

Последний раз редактировалось Danila.ivlev; 15.05.2016 в 16:04. Причина: уточнение
Danila.ivlev вне форума Ответить с цитированием
Старый 19.05.2016, 07:02   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Хорошо.
Предоставленная программа записывает в файл (и дублирует в консольном окне) каждую 1сек. два значения m_munX, m_munY.
Когда писал программу у меня были проблемы (из-за своего небольшого опыта программирования) - обрати на них внимание:
1) Visual Studio 2013 "начал ругаться" на диррективу #include "stdafx.h" -поэтому я её сделал комментарием. Хотя в примере, найденном мной в интернете, она была. Но и так все работает.
2) Файл, в который нужно писать информацию, должен уже быть созданным на диске. В моём примере это out.txt на диске С/.
3) С начало я нашёл пример с не полным путём к файлу ("out.txt") - наверно считалось, что текстовый файл находится в текущей папке с исполнительным файлом, - но у меня "не пошло"... После указания полного пути к файлу ofstream fout("C:/out.txt", ios::app); все заработало.
4) Первый раз работы программы у меня не было установлен флаг ios::app - и в файле оказалось только последняя строка при t=10сек. Видать ios::app в выражении ofstream fout("C:/out.txt", ios::app) означает "дописать файл".
5) Используй только короткие и английские буквы для задания пути к файлу.


Обрати внимание на функцию Sapis_v_vail(int m_munX, int m_munY).
По сути дела она будет тебе интересна.

Если чё - пиши.





//#include "stdafx.h"
#include <fstream>
#include <iostream>
#include "windows.h"
using namespace std;

void Sapis_v_vail();

void Sapis_v_vail(int m_munX, int m_munY)
{
ofstream fout("C:/out.txt", ios::app); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
fout << "m_munX=" << m_munX << ", m_munY=" << m_munY << endl; // запись строки в файл
fout.close(); // закрываем файл
}

int main(int argc, char* argv[])
{
int m_munX, m_munY;
cout << "Программа записала в ввыйл ''C: / out.txt'':" << endl << endl;
for (int i = 0; i < 10; i++)
{
m_munX = i;
m_munY = 2 * i*i + 60;
Sleep(1000); // Задержка 1сек.
Sapis_v_vail(m_munX, m_munY);
cout << "m_munX=" << m_munX << ", m_munY=" << m_munY << endl;
}
system("pause");
return 0;
}
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помощи. Тема: Типизированный файл. PascalABC.NET Roman_BaTbKo Помощь студентам 0 20.12.2015 23:02
Запись из StringGrid в файл при помощи SaveDialog NecroSlider Помощь студентам 5 17.04.2011 18:45
прошу помощи ex-hack Помощь студентам 2 05.06.2009 15:54
Прошу помощи!!! Oksana Общие вопросы Delphi 3 03.03.2007 12:51