エラーが出てしまい困っています

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Nect

エラーが出てしまい困っています

#1

投稿記事 by Nect » 12年前

初投稿です。ソースコードを実行したところ【実行結果】のようなエラーが出力されてしまいました。このエラーを解消したいけれども、解決方法がわかりません。見た限りではfopenに問題があるようなのですが、どのように修正を加えればいいのでしょうか?

ソースコードの表示が汚くなっていたらすみません。回答よろしくお願いします。

以下に詳細を示しておきます。
【知識】
C言語のポインタと構造体をそこそこ扱えます

【開発環境】
・windows8
・C言語
・Microsoft Visual Studio Express 2012 for Windows Desktop

【実行結果】
http://kie.nu/1yBu

【ソースコード】

コード:

#include <stdio.h>
#include <string.h>
#include <jansson.h>

#define N 256

typedef struct
{
    char* data; // response data from server
    size_t size; // response size of data
} MEMFILE;

int main(void)
{
    FILE *input =fopen("json.text","r");
    json_t *json;
    json_error_t error;
    char jso[N];

    printf("%d",*json_loadf(input, 0, &error));

    fclose(input);

    return 0;
 }
 
【エラー】
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details

box
記事: 2002
登録日時: 15年前

Re: エラーが出てしまい困っています

#2

投稿記事 by box » 12年前

Nect さんが書きました:ソースコードを実行したところ【実行結果】のようなエラーが出力されてしまいました。
コンパイル(ビルド)したら、じゃないんですか?
実行時にはそのエラーは出ないような気がします。
Nect さんが書きました: 【エラー】
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details
エラー C4996: fopenという関数あるいは変数は、安全ではないかもしれません。
代わりに、fopen_sを使うことをおすすめします。
この警告が出ないようにするには、(コンパイル時に)
_CRT_SECURE_NO_WARNINGS
というオプションを付けてください。
詳細は、オンラインヘルプをごらんください。

というくらいの意味だと思います。
それほどむずかしい英語ではないような気がします。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

Nect

Re: エラーが出てしまい困っています

#3

投稿記事 by Nect » 12年前

#define _CRT_SECURE_NO_WARNINGSとsopen_sを追加したことで発生していたエラーを解消することができました。boxさん、ご協力ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る