【C言語】VisualStudio 2015 VC++ 「strcpy()」 コンパイルエラー回避方法
ちょっとお試しでコーディングしたところこんなエラーが出ました。 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. strcpyは使うなってことみたいですけどそうも言ってられないので対応策を。 (最終的な実行環境は WindowsNT4.0/Windows95, Visual C++ 4.0 なので・・・) stdafx.h に1行追加することでコンパイルが通ります。 ---------------------------------------- #pragma once // ↓この1行を追加 #define _CRT_SECURE_NO_WARNINGS #include "targetver.h" #include <stdio.h> #include <tchar.h> ----------------------------------------
【C言語】printfで実行した行番号を出力する
// // 【printfで実行した行番号を出力する】※Solaris,RedHutで動作確認済 // (c) 2017 mikan // ※使用にあたっては利用者の自己責任でお願いします。 // #include <stdio.h> #include <stdarg.h> #include <errno.h> // printfマクロ #define DBGPRI(fmt, ...) debug_printf(__FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__) // printf関数 void debug_printf(const char *file, const char *func, const int line, const char *fmt, ...) { printf("%s,%s(),%d,%d:", file, func, line, errno); va_list ap; va_start(ap, fmt); vfprintf(stdout, fmt, ap); va_end(ap); printf("\n"); } int main() { DBGPRI("start"); // Sun C 5.8 ... compile Warning, gcc ... compile OK DBGPRI("start %s", ""); // compile OK DBGPRI("start %s", "test"); // compile OK return 0; }
【実行結果】
dbgpri.c,main(),23,0:start
dbgpri.c,main(),24,0:start
dbgpri.c,main(),25,0:start test