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

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

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

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

Visual Studio

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

Q&A

解決済

1回答

4946閲覧

ハンドルが何かわかっておらず、下記のエラーメッセージの解決方法を求む

SioRyu

総合スコア28

C

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

Visual Studio

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

0グッド

0クリップ

投稿2017/07/28 07:38

現在大学ではCentOSからLinuxを使用して、C言語を勉強しておりまして。家のパソコンでもプログラミングを勉強したく、Visual Studioを使い始め、少しづつ慣れてきたのですが、先ほどの質問とは違い
###発生している問題・エラーメッセージ

エラーメッセージ ハンドルされない例外が 0x00000B84 (ConsoleApplication5.exe) で発生しました: 0xC00001A5: 無効な例外ハンドラー ルーチンが検出されました。 (パラメーター: 0x00000003)。

がinternal_shared.hの204行にて表示されます。

今回作ろうとしているのは
駅データをファイルから読み込む隣接行列

lang

1C言語 2#include "stdafx.h" 3#include "stdlib.h" 4 5#include <stdio.h> 6#define STARION_NUMBER 44 7 8struct STATION 9{ 10 char name[40]; 11}; 12 13void scanfile(struct STATION stations[]); 14 15int adjacency_matrix[STARION_NUMBER][STARION_NUMBER] = { 16 { 0,1,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 17 { 1,0,1,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 18 { 0,1,0,1, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 19 { 0,0,1,0, /*共通ルート*/1,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 20 { 0,0,0,1, /*共通ルート*/0,1,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 21 { 0,0,0,0, /*共通ルート*/1,0,1,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 22 { 0,0,0,0, /*共通ルート*/0,1,0,1,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 23 { 0,0,0,0, /*共通ルート*/0,0,1,0,1,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 24 { 0,0,0,0, /*共通ルート*/0,0,0,1,0,1,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 25 { 0,0,0,0, /*共通ルート*/0,0,0,0,1,0,1,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 26 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,1,0,1,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 27 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,1,0,1,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 28 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,1,0,1,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 29 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,1,0,/*ここからが第一分岐*/1,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/1,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 30 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,1,/*ここからが第一分岐*/0,1,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/1,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 31 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/1,0,1,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 32 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,1,0,1,0,0,0,0,0,/*ここからが黄色ライン*/1,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 33 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,1,0,1,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 34 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,1,0,1,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 35 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,1,0,1,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 36 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,1,0,1,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 37 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,1,0,1,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 38 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,1,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 39 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,1,0,0,0,0,0,0,/*ここからが黄色ライン*/0,1,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 40 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/1,0,1,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 41 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,1,0,1,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 42 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,1,0,1,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 43 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,1,0,1,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 44 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,1,0,1,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 45 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,1,0,1,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 46 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,1,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 47 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,1,/*ここからが第一分岐*/1,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,1,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 48 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/1,0,1,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 49 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,1,0,1,0,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 50 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,1,0,1,0,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 51 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,1,0,1,0,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 52 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,1,0,1,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 53 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,1,0,1,/*ここからがグリーンライン*/0,0,0,0,0 }, 54 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,1,0,/*ここからがグリーンライン*/0,0,0,0,0 }, 55 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,1,0,0,0 }, 56 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/1,0,1,0,0 }, 57 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,1,0,1,0 }, 58 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,1,0,1 }, 59 { 0,0,0,0, /*共通ルート*/0,0,0,0,0,0,0,0,0,0,/*ここからが第一分岐*/0,0,0,0,0,0,0,0,0,/*ここからが黄色ライン*/0,0,0,0,0,0,0,0,/*ここからが第二分岐*/0,0,0,0,0,0,0,0,/*ここからがグリーンライン*/0,0,0,1,0 }, 60}; 61 62int main(void) { 63 struct STATION stations[STARION_NUMBER] = {}; 64 int i, j, d; 65 scanfile(stations); 66 for (i = 0; i < STARION_NUMBER; i++) { 67 printf("%s:", stations[i]); 68 for (j = 0; j < STARION_NUMBER; j++) { 69 if (adjacency_matrix[i][j] == 1) { 70 printf("→%s ", stations[j]); 71 } 72 } 73 printf("\n"); 74 } 75 scanf("%d", &d); 76 return 0; 77} 78 79void scanfile(struct STATION stations[]) { 80 FILE *fp; 81 int i; 82 if ((fp = fopen("eki.txt", "r")) == NULL) { 83 printf("%sがありません\n", "eki.txt"); 84 exit(1); 85 } 86 i = 0; 87 while (fscanf(fp, "%s", stations[i].name) != EOF) 88 { 89 i++; 90 } 91 fclose(fp); 92} 93 94eki.txtの中身は 95Millbrae 96San Bruno 97San Francisco 98Colma 99Daly City 100Balboa Park 101Glen Park 10224th St Mission 10316th St Mission 104Civic Center/UN plaza 105Powell St 106Montgomery St 107Embarcadero 108West Oakland 10912th St/Oakland City Center 11019th St/Oakland 111MacArthur 112Ashby 113Downtown Berkeley 114North Berkeley 115El Cerrito Plaza 116El Cerrito del Norte 117Richmond 118Rockridge 119Orinda 120Lafayette 121Walnut Creek 122Pleasant Hill/Contra Costa Centre 123Concord 124North Concord/Martinez 125Pittsburg/Bay Point 126Lake Merritt 127Fruitcale 128Coliseum 129San Leandro 130Bay Fair 131Castro Valley 132West Dublin/Pleasanton 133Dublin/Pleasanton 134Hayward 135South Hayward 136Union City 137Fremont 138Warm Springs/South Fremont 139です

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

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

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

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

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

guest

回答1

0

ベストアンサー

落ちている所は、scanfile()のwhile文です。

i = 44になった時にfscanf()を呼び出してしまうため、stations[i]が配列の範囲外になってしまい、エラーで落ちます。
i++した後に

C

1i++; 2if (i >= STARTION_NUMBER) { 3 break; 4}

とwhileを抜ければエラー回避できます。

また、main()の中のprintf文ですが、stations[i].nameとメンバー変数まで書くべきです。

投稿2017/07/28 08:27

PineMatsu

総合スコア3579

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

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

PineMatsu

2017/07/28 08:31

ちなみに「ハンドルされない例外・・・」と言うのは、キャッチしていない例外が発生したという意味です。
SioRyu

2017/07/29 08:15

すごいです!ちゃんと治りました、本当にありがとうございます!おまけにいろいろ教えていただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問