管理人の趣味メインのメモto日記
AIONブログ RSS [情報サイト表示]
[注意] LinkやRSSについて

シエルサーバ RSS [情報サイト非表示]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ -------- (--) --:-- ]  
   Category:スポンサー広告

・ω・)ノ
 
セキュアの問題・・・・? (・ω・
 
 
> f盾さん
50キャラ・・・・60Lvにしようとしてる、50止めしないスピです。
50になって満足して、今は料理しかしてません・・・・(やっと300
 
何処で何をやるのが楽なLv上げなのか・・・・サッパリわかりません。
 
最近ツール作ってて気が付くと、時間が・・・・って状態が多くて、
かなりin率下がってますが・・・・ (-ω-;
 
 
<本日のトピックス>
[雑 記] セキュアな関数"_s"のなぞ
 
 
[雑 記] セキュアな関数"_s"のなぞ
2005年頃?からCの関数に"_s"系が増えてると思います。
で、今回ナゾな挙動をしてるのが"fopen_s"なのですが・・・・だれか偉い人教えて状態です。
そもそも"fopen"は、ファイルの読み書きを行うためにまず記述する関数なのですが、
"fopen"から"fopen_s"への変更って、セキュリティの向上がメインで・・・・いわゆる
バッファオーバーフローへの最低限の対処がされたセキュアな"fopen"と認識してます。
若干、引数も変わってて
 
 
 FILE* = fopen("オープンするファイル名", "モード");
 
 エラーコード = fopen_s(FILE**, "オープンするファイル名", "モード");
 
で、何がわからないかと言うと"fopen"の場合、問題ないのですが"fopen_s"の場合・・・・
今回作成しているツールでいうChat.logの読み込みがおかしくなるのです。
細かく言うと・・・・
 
 初回の読み込みは正常に行われるが、2回目以降Chat.logは内容が更新され
 行数が増えているのに、最終行まで読み込まない。
 
つまり、集計情報が更新されないのです・・・・。
"fopen_s"の1行を"fopen"に戻すだけでこの問題は解消されるのですが・・・・ナゾです。
"fopen"でも、問題ないのですが・・・・コンパイルするごとに警告が出て鬱陶しいので、
警告が出ないように、
 
 #pragma warning(disable : 警告の番号)
 
で、止めたのですが・・・・上記問題が起こる要因がいまいちわかりません。
戻り値のエラーコードを調べる必要があるのかな?(-ω-
 
"fopen"の時同様に"fopen_s"もファイルが読み込めたかのチェックしかしてないから
エラーコード見れば何か違うのかな??
 
 if(FILE* == NULL){
  // 読み込み失敗時の処理
 }else{
  // 読み込めたときの処理
 }
 
まぁ、期待通りの動作をする"fopen"を使うからいいかな (-ω-
 
 

スポンサーサイト
[ 2013-03-29 (Fri) 12:00 ]   Comment(0)
   Category:雑記:あいぉん日記
管理者にだけ表示を許可する

TrackBackURL
→ http://extremes.blog40.fc2.com/tb.php/669-cca9018d
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。