前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)c language でファイル入出力のコードです
発生している問題・エラーメッセージ
エラーメッセージ
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー 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. ConsoleApplication1 C:\Users******\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp 14
該当のソースコード
c languageここに言語名を入力
ソースコード
#include <iostream> #include <stdio.h> #include<string.h> #define _CRT_SECURE_NO_WARNINGS #include<algorithm> _CRT_SECURE_NO_WARNINGS int main() { FILE* fp; fp = fopen("test.txt", "w"); if (fp == NULL) { perror("defaulted to open the file\n"); return -1; } else { printf("successed to open the file\n"); } fprintf(fp, "first time to ocfile\n"); if (fclose(fp) != 0) { perror("defaulted to close the file\n"); return -1; } else { printf("closed the file\n"); } return 0; };
試したこと
_CRT_SECURE_NO_WARNINGSをつかった
補足情報(FW/ツールのバージョンなど)
visual studio 2019。
これは質問じゃなくて「依頼」です。
このままではコードが見づらいので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
回答、ありがとうございます
define _CRT_SECURE_NO_WARNINGS,
#pragma warning
使ってもエラー出ました
“使ってもエラー出ました”エラーが出たら、エラーメッセージを提示しましょう。
また、C++なのにstdio.h等のCのヘッダを使っているのはなぜでしょう?
C++の場合は、cstdioです。また、using namespace std;を書かないなら関数名等にstd::付けましょう。
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー 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. ConsoleApplication1
C:\Users\***\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp 14
(同じエラーです)
> define _CRT_SECURE_NO_WARNINGS,
じゃなくて
#define _CRT_SECURE_NO_WARNINGS,
ですがな。
#あえて全角文字使ってますw
y_waiwaiさん、ありがとうございます。でも
変えたら127エラー出てきたwwww
そりゃでっかいエラー解消したら小さいエラー出てくるのは当たり前
変えた、ソースコード貼り付けます
#include <iostream>
#include <stdio.h>
#include<string.h>
#define _CRT_SECURE_NO_WARNINGS
#include<algorithm>
#pragma warning
int main() {
FILE* fp;
fp = fopen("test.txt", "w");
if (fp == NULL) {
perror("defaulted to open the file\n");
return -1;
}
else {
printf("successed to open the file\n");
}
fprintf(fp, "first time to ocfile\n");
if (fclose(fp) != 0) {
perror("defaulted to close the file\n");
return -1;
}
else {
printf("closed the file\n");
}
return 0;
};
エラー・メッセージ見たらどこの行がエラーなのか出てるのでそれ見て間違ってないか見てみれ。
そんでわからんと言うならエラー・メッセージも出せ。
#define
↓
#define
return 0;
};
↓
return 0;
}
y_waiwaiさん、不快にしてしまったなら謝ります
まず、メッセージぐらいは読みましょうよ...
メッセージには答えが隠されています。
「のどが渇いた」なら「何か(水とか?)を飲めばいい」という風に。
それを「私はどうすればいいですか...」なんて思考停止したら誰も教えることできませんよ。
一番の問題は、「情報を隠していること」(= 思考停止 ) と「回答者のヒントをガン無視していること」です。
y_waiwaiさんが丁寧に、
>> このままではコードが見づらいので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコーを貼り付けてください
と書いているのに無視している。
これではだれも助けないよ。
「どーせ、答えクレクレ君だろ?」とかって感じで。
まずは情報を開示してください。
(愚痴すみません...)
更新
#include <iostream>
#include <stdio.h>
#include<string.h>
#define _CRT_SECURE_NO_WARNINGS
#include<algorithm>
#pragma warning
int main() {
FILE* fp;
fp = fopen("test.txt", "w");
if (fp == NULL) {
perror("defaulted to open the file\n");
return -1;
}
else {
printf("successed to open the file\n");
}
fprintf(fp, "first time to ocfile\n");
if (fclose(fp) != 0) {
perror("defaulted to close the file\n");
return -1;
}
else {
printf("closed the file\n");
}
return 0;
}
(例のエラーが出ます)
だから、エラー・メッセージを出せとw
いや、だから<code>使ってって言われてるでしょう。質問は編集できます。まさか、インデントも付けずにコーディングしてないよね?
cateyeさん、やり方がわからないこともあり、はかどりません
みなさん、ありがとうございます。解決できました
回答3件
あなたの回答
tips
プレビュー