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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

C++

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

Q&A

0回答

341閲覧

visual studioで「Runtime Library」とでるエラーの対処法

cube2413

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

C++

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

0グッド

0クリップ

投稿2022/07/03 05:29

visual studioでデバックを行ったときに、「Runtime Library」とエラーが出てきて無視してデバックを続ける「ハンドルされていない例外」とコードに表示が出てきます。
解決方法が分かる方がいましたら、教えていただきたいです。

#ifdef WIN32
#define CRT_SECURE_NO_WARNIGS //scanfなどの警告抑制
#define USE_MATH_DEFINES //円周率πの使用
#endif //ifdef WIN32

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

void main()
{

static char inptfl[] = "input.csv"; /* simu1ation input*/ static char ouptfl[] = "output.csv"; /*simulation output*/ //definition FILE* finp; FILE* fotp; int err; char buf[500]; int i, ndat = 8, k, kk, nsteop = 2046; double data_old[8], data[8], X0, Y0, xx, yy, YY, XX, hd; double dt = 0.1, M_PI = 3.141592653589793; printf(" ConsoleApplication1 \n\n"); //出力ファイルを開く処理 err = fopen_s(&finp, inptfl, "r"); if (err == 0) { printf("cannot open input file \n\n"); exit(1); } err = fopen_s(&fotp, ouptfl, "w"); if (err != 0) { printf("cannot poen output file \n\n"); exit(1); } // 0.初期値入力 fgets(buf, 500, finp); fgets(buf, 500, finp); for (i = 0;i <= ndat;i++)//ndat=8 { fscanf_s(finp, "%lf,", &data_old[i]); //old --> 1行前のデータ } //緯度経度の初期値 X0,Y0 X0 = data_old[2]; Y0 = data_old[1]; for (k = 1, k <= nsteop; k++;) { kk = k; // 1. data input データ入力 for (i = 1; i <= ndat; i++) //ndat=8 { fscanf_s(finp, "%lf,", &data[i]); // &を忘れずに %lf, 倍精度 } // 2. compute heading 方位角の計算 hd = data_old[3] + (-data[5]) * dt; // 3. compute longitude latitude 経度緯度の計算(m) xx = data_old[2] + data[4] * dt * sin(data_old[3] * M_PI / 180.0); // 経度x (m) M_PI 後で定義 3.14 yy = data_old[1] + data[4] + dt * cos(data_old[3] * M_PI / 180.0); // 緯度y (m) // 4, compute longitude latitude too degree 経度緯度をdegに変換 YY = data[1] / (111111.0 + Y0); // Y (deg) XX = data[2] / (111111.0 * cos(YY * M_PI / 180.0)) + X0; // X (deg) // 5. out put データ出力 fprintf_s(fotp, "%lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, \n", data[0], data[5], data[4], hd, xx, yy, XX, YY); }

}イメージ説明

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

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

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

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

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

dodox86

2022/07/03 07:42

前のご質問で回答やコメントをいただいていますね。 実質、前の質問と同じです。 [ヴィジュアルスタジオのハンドルされていない例外] https://teratail.com/questions/18uzu56fpudt78 > err = fopen_s(&finp, inptfl, "r"); > if (err == 0) > { > printf("cannot open input file \n\n"); > exit(1); > } ??? 関数リファレンスをよく見て、1行1行何を行っているか注意してコーディングしましょう。
cube2413

2022/07/03 07:52

回答ありがとうございます! > if (err == 0) この部分が元々、 > if (err != 0) であったのですが、それだとifの中に入ってしまい、デバックが終わってしまったので変更したのですが、間違っていたのでしょうか。 また、「デバックコンソールで (プロセス 9976) は、コード 3 で終了しました。 このウィンドウを閉じるには、任意のキーを押してください...」 と表示が出るのは無関係ですか?
thkana

2022/07/03 07:57

> デバックが終わってしまったので変更した プログラムをちゃんと動かすためにデバッガ上で試行しているのですか、 それとも、なにがなんでもデバッグを終わらせないことが目的なのですか?
cube2413

2022/07/03 08:04

一番下のコードで fprintf_s(fotp, "%lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, \n", data[0], data[5], data[4], hd, xx, yy, XX, YY); ここで、データ出力されているかを確認したいです。
dodox86

2022/07/03 08:12

回答ではないのですけれどもね。単なるコメントです。 > > if (err == 0) > この部分が元々、 > > if (err != 0) > であったのですが、それだとifの中に入ってしまい、デバックが終わってしまったので変更したのですが、間違っていたのでしょうか。 何と言いますか、プログラミングに対する向き合い方が間違っているようです。エラーを無くすためにどうこうするのではなく、正しく意図通りにコードを書くと自然とエラーは無くなります。errと言う変数が何を表しているか分かっていますか? 何となくコードをコピペしたり書いていませんか?
cube2413

2022/07/03 08:25

先生がとりあえずこの通りに書いてと言っていたので何となく書いていたため、あまり理解をできていません。。。 errという変数はfopen_sが入っていて、fopen_sが正しく入っているかを確認しているのがif文という認識であってますでしょうか。
dodox86

2022/07/03 08:46 編集

> errという変数はfopen_sが入っていて、fopen_sが正しく入っているかを確認しているのがif文という認識であってますでしょうか。 用語の使い方の問題があるかもしれませんが、とりあえず間違っています。errと言う名前の変数には、fopen_s関数を実行した結果、いわゆる返り値(「戻り値」とも言う)が入っています。 ご自身で提示したコードを理解できてない場合、回答をいただいても大抵の場合は理解はできず、完動品のコード付きの回答でしかその質問を終えることができません。申し訳ないですが私もそういった質問への回答は控えているので、引き続き回答を待つか、現状のコードをちゃんと理解して質問を更新してください。 [質問するときのヒント] https://teratail.com/help/question-tips [推奨していない質問] https://teratail.com/help/avoid-asking ※一部編集済み
cube2413

2022/07/03 08:44

今のコードを理解したのちにまた質問をします。 回答ありがとうございました。
dodox86

2022/07/03 08:49

翻って今のコードをちゃんと理解すれば、前のご質問といただいた回答で終わると思います。ですので、適時、そちらの質問も閉じてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問