質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

401閲覧

C++において位置座標を排出させたい

muton

総合スコア31

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/01/08 08:38

該当のソースコード

C++

1void cGrTrackMap::drawCar(tCarElt *currentCar, GLfloat* color, int x, int y) 2{ 3 // Compute screen coordinates of the car. 4 float car_x = (currentCar->_pos_X - track_min_x)/track_width*map_size*track_x_ratio + x; 5 float car_y = (currentCar->_pos_Y - track_min_y)/track_height*map_size*track_y_ratio + y; 6 7 glDisable(GL_BLEND); 8 glDisable(GL_TEXTURE_2D); 9 glColor4fv(color); 10 11 if (cardot != 0) { 12 glMatrixMode(GL_MODELVIEW); 13 glPushMatrix(); 14 glTranslatef(car_x, car_y, 0.0); 15 glCallList(cardot); 16 glPopMatrix(); 17 } 18}

発生している問題・エラーメッセージ

オープンソースコードのカーシュミレーションソフトにおいて車の位置座標の情報を取得したいと考えています. 上記のcar_x,car_yを一定時間ごとにエクセルか何かに排出させたいと考えているのですが,上手くいきません. アドバイスなど宜しくお願い致します.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

iwanote

2019/01/08 13:21

うまくいかないとは、何がどうなってうまくいかないのですか?
muton

2019/01/09 06:07

質問ありがとうございます.お恥ずかしいですが,調べてもコードの書き方が分からないということです. 宜しくお願い致します.
guest

回答2

0

ベストアンサー

csvに吐き出せばエクセルで見れるよ。

https://programming.pc-note.net/cpp/filestream.html

投稿2019/01/08 08:57

stdio

総合スコア3307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muton

2019/01/08 10:55

回答ありがとうございます.参照して頂いたサイト拝見しました. CSVファイルで出力すれば良いということですね. 具体的にはどのようにコードを直せばよいでしょうか. 宜しくお願い致します.
stdio

2019/01/09 00:48

>>具体的にはどのようにコードを直せばよいでしょうか. glDisable(GL_BLEND); と書かれて上にcar_xとcar_yの値を引数で持ってくるような関数を一つ追加で済みますよ。 ```c void saveFile(const float& x,const float& y) { //ここにcsvの保存する機構を書く } ``` 補足 プログラムを見た感じだと、初心者のようでしたので一つアドバイス。 ベクトル構造体(クラス)を作っておいた方が便利ですよ。
muton

2019/01/09 06:06

回答ありがとうございます.補足まで丁寧にして頂き,感謝しています. void saveFile(const float& x,const float& y) { } でcsvに書き出すことができるということでしょうか. また,csvの保存する機構とはどういうことでしょうか.
stdio

2019/01/09 06:21

https://mementoo.info/archives/770 サンプルですが、ここを見ながらやるとおススメです。 /*ファイル(save.csv)に書き込む*/ この部分はあなたの求めている答えだと思います。 しかし、毎フレーム読み込み、解放するのは処理上よくありませんが、 初心者である事とデバック用との事なので、今は関係ない事にしましょう。
guest

0

何もわからないとのことですので説明します。

まず、エクセルに表示するということを考えるとします。
エクセルは基本的に専用ファイル(xls等)を読み込みます。
しかし、それらの形式は様々な要素が入っていて自分で作るには難しいものになります。
そこで登場するのがcsvファイルです。
csvファイルというのは「,」と改行で区切られた文字列です。
エクセルは、そのデータを読み込むと、「,」の間の文字列を一つのセルとして表示します。
つまり、エクセルで表示させるには、その形式に合うようにファイルに出力すればいいのです。

次に、数値をファイルに保存することを考えます。
現在使用している言語はc++ですので、std::ofstreamの使用が適当だと思います。
使い方は他の回答者様の参考サイトを見てもいいですし、「ofstream csv」等で検索されてもすぐに見つかると思います。
よくわからないかもしれませんが、サンプルをいじってみると理解しやすいのではないかなと思います。

投稿2019/01/09 12:22

iwanote

総合スコア295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問