前提・実現したいこと
visual studioで以下のコードを入力したところ上手く動作しませんでした.エラー一覧にも問題のコードがないためどの部分を訂正したらいいのかがわかりません.できればアドバイスをお願いいたします.
#include<stdio.h>
#pragma warning(disable:4996)
int main(void) {
int i;
FILE* file;
file = fopen("test.txt", "r");
fscanf_s(file, "%d", &i);
fclose(file);
printf("%d\n", i);
return(0);
}
どう動くことを期待していて、実際はどう動くのですか?
fscanfでファイルに100と入力された場合、100と出力されると思うのですがDebug Assertion Failedと出ます.
その「Debug Assertion Failed」のメッセージの中身を質問文に追記してください。スクリーンショットでいいです。
メッセージの中身を追記させていただきました.
fopen() が失敗して変数 file が NULL の状態で fscanf_s() を呼んでいるっぽいですね。
すみません、fopenが失敗する理由を探してみたのですが全然見当がつきません,差し支えなければこの場合失敗の可能性というのはどのコードの部分だと思われますか?visual studioの場合このFILE* file;がおかしいという可能性はありますか?
32行目でエラー出てます。そのコードで32行目って?
32行目は無いみたいです.
epistemeさん、32はCRTのソースの行番号です。
ア、ホントだごめん。
そのメッセージからするとopenに失敗したFILE*から読み込もうとしたように見えます。
回答2件
あなたの回答
tips
プレビュー