質問編集履歴
3
写真の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ヴィジュアルスタジオで「ハンドルされない例外が 0x00007FFC2088AFEC (ucrtbased.dll) で発生しました(ConsoleApplication1.exe 内): 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」という表示がでるのですが何が原因かわからないです。教えていただけますでしょうか。
|
1
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-07-05/0429e1c9-59a2-469e-9d50-04126dac4bbb.png)ヴィジュアルスタジオで「ハンドルされない例外が 0x00007FFC2088AFEC (ucrtbased.dll) で発生しました(ConsoleApplication1.exe 内): 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」という表示がでるのですが何が原因かわからないです。教えていただけますでしょうか。
|
2
2
|
コード全体です。
|
3
3
|
|
4
4
|
#ifdef WIN32
|
2
コードの更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,9 +13,9 @@
|
|
13
13
|
void main()
|
14
14
|
{
|
15
15
|
|
16
|
-
static char
|
16
|
+
static char inptfl[] = "input.csv"; /* simu1ation input*/
|
17
|
-
static char
|
17
|
+
static char ouptfl[] = "output.csv"; /*simulation output*/
|
18
|
-
|
18
|
+
|
19
19
|
//definition
|
20
20
|
FILE* finp;
|
21
21
|
FILE* fotp;
|
@@ -32,14 +32,12 @@
|
|
32
32
|
|
33
33
|
//出力ファイルを開く処理
|
34
34
|
|
35
|
-
err = fopen_s(&f
|
35
|
+
err = fopen_s(&finp, inptfl, "r");
|
36
36
|
if (err != 0)
|
37
37
|
{
|
38
|
-
printf("cannot p
|
38
|
+
printf("cannot open input file \n\n");
|
39
39
|
exit(1);
|
40
40
|
}
|
41
|
-
|
42
|
-
|
43
41
|
|
44
42
|
err = fopen_s(&fotp, ouptfl, "w");
|
45
43
|
if (err != 0)
|
@@ -49,7 +47,6 @@
|
|
49
47
|
}
|
50
48
|
|
51
49
|
// 0.初期値入力
|
52
|
-
finp = 0;
|
53
50
|
fgets(buf, 500, finp);
|
54
51
|
fgets(buf, 500, finp);
|
55
52
|
|
1
コード全体貼り付けましました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
ヴィジュアルスタジオで「ハンドルされない例外が 0x00007FFC2088AFEC (ucrtbased.dll) で発生しました(ConsoleApplication1.exe 内): 無効なパラメーターを致命的と見なす関数に無効なパラメーターが渡されました。」という表示がでるのですが何が原因かわからないです。教えていただけますでしょうか。
|
2
|
+
コード全体です。
|
2
3
|
|
3
4
|
#ifdef WIN32
|
4
5
|
#define CRT_SECURE_NO_WARNIGS //scanfなどの警告抑制
|
@@ -9,25 +10,37 @@
|
|
9
10
|
#include <stdio.h>
|
10
11
|
#include <math.h>
|
11
12
|
|
12
|
-
void main()
|
13
|
+
void main()
|
13
|
-
|
14
|
+
{
|
14
15
|
|
15
16
|
static char* inptfl = "input.csv"; /* simu1ation input*/
|
16
17
|
static char* ouptfl = "output.csv"; /*simulation output*/
|
17
|
-
|
18
|
+
|
18
|
-
//definition
|
19
|
+
//definition
|
19
20
|
FILE* finp;
|
20
21
|
FILE* fotp;
|
21
22
|
int err;
|
22
23
|
char buf[500];
|
23
24
|
|
24
|
-
int i, ndat = 8
|
25
|
+
int i, ndat = 8, k, kk, nsteop = 2046;
|
25
|
-
double data_old
|
26
|
+
double data_old[8], data[8], X0, Y0, xx, yy, YY, XX, hd;
|
26
|
-
double dt = 0.1, M_PI = 3.141592653589793
|
27
|
+
double dt = 0.1, M_PI = 3.141592653589793;
|
27
28
|
|
28
29
|
printf(" ConsoleApplication1 \n\n");
|
29
30
|
|
31
|
+
|
32
|
+
|
30
33
|
//出力ファイルを開く処理
|
34
|
+
|
35
|
+
err = fopen_s(&fotp, ouptfl, "r");
|
36
|
+
if (err != 0)
|
37
|
+
{
|
38
|
+
printf("cannot poen output file \n\n");
|
39
|
+
exit(1);
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
|
31
44
|
err = fopen_s(&fotp, ouptfl, "w");
|
32
45
|
if (err != 0)
|
33
46
|
{
|
@@ -38,8 +51,46 @@
|
|
38
51
|
// 0.初期値入力
|
39
52
|
finp = 0;
|
40
53
|
fgets(buf, 500, finp);
|
54
|
+
fgets(buf, 500, finp);
|
41
55
|
|
42
56
|
for (i = 0;i <= ndat;i++)//ndat=8
|
43
57
|
{
|
44
|
-
fscanf_s(finp,"%lf,",&data_old[i]); //old --> 1行前のデータ
|
58
|
+
fscanf_s(finp, "%lf,", &data_old[i]); //old --> 1行前のデータ
|
45
59
|
|
60
|
+
}
|
61
|
+
|
62
|
+
//緯度経度の初期値 X0,Y0
|
63
|
+
X0 = data_old[2];
|
64
|
+
Y0 = data_old[1];
|
65
|
+
|
66
|
+
for (k = 1, k <= nsteop; k++;)
|
67
|
+
{
|
68
|
+
kk = k;
|
69
|
+
|
70
|
+
// 1. data input データ入力
|
71
|
+
|
72
|
+
for (i = 1; i <= ndat; i++) //ndat=8
|
73
|
+
{
|
74
|
+
fscanf_s(finp, "%lf,", &data[i]); // &を忘れずに %lf, 倍精度
|
75
|
+
}
|
76
|
+
|
77
|
+
// 2. compute heading 方位角の計算
|
78
|
+
|
79
|
+
hd = data_old[3] + (-data[5]) * dt;
|
80
|
+
|
81
|
+
// 3. compute longitude latitude 経度緯度の計算(m)
|
82
|
+
|
83
|
+
xx = data_old[2] + data[4] * dt * sin(data_old[3] * M_PI / 180.0); // 経度x (m) M_PI 後で定義 3.14
|
84
|
+
yy = data_old[1] + data[4] + dt * cos(data_old[3] * M_PI / 180.0); // 緯度y (m)
|
85
|
+
|
86
|
+
// 4, compute longitude latitude too degree 経度緯度をdegに変換
|
87
|
+
|
88
|
+
YY = data[1] / (111111.0 + Y0); // Y (deg)
|
89
|
+
XX = data[2] / (111111.0 * cos(YY * M_PI / 180.0)) + X0; // X (deg)
|
90
|
+
|
91
|
+
// 5. out put データ出力
|
92
|
+
|
93
|
+
fprintf_s(fotp, "%lf, %lf, %lf, %lf, %lf, %lf, %lf, %lf, \n", data[0], data[5], data[4], hd, xx, yy, XX, YY);
|
94
|
+
}
|
95
|
+
|
96
|
+
}
|