fopen_sとかsscanf_sとかの"_s"関数書き換え例まとめ
http://blog.livedoor.jp/mrcom511/archives/51270788.html
この例だと fopen() を fopen_s() に書き換えてますが、逆はこんな感じでしょうか?
#include<stdio.h> #include<errno.h> /* to rewrite fopen_s() as fopen() */ #include<string.h> /* strerror() */ int main() { int ferrno = 0; FILE *fp = NULL; /* ferrno=fopen_s(&fp,\"testfile.txt\",\"r\"); */ errno = 0; fp = fopen(\"testfile.txt\", \"r\"); ferrno = errno; /* print some variables */ printf(\"ferrno: %d fp: %p strerror: %s \\n\", ferrno, fp, strerror(ferrno)); if (fp != NULL) { fclose(fp); } return 1; }
ferrno なんて使わないし、って場合は errno.h を読まずに捨ててしまえばいいだけ、かな?
0 件のコメント:
コメントを投稿