日付取得時のwarningについて – プログラミング – Home

日付取得時のwarningについて
 
通知
すべてクリア

[解決済] 日付取得時のwarningについて


Kamiru1981
 Kamiru1981
(@Kamiru1981)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

[環境]
WinXp(Sp2) VC++2005 コンソールアプリケーション

[質問]
VC++2005で現在日付を取得する関数を作成しています。

struct tm *s_time;
time_t the_time;

(void) time(&the_time);
s_time = localtime(&the_time);

上記のようにすると、
warning C4996: 'localtime' が古い形式として宣言されました。

となるので
struct tm *s_time;
time_t the_time;

(void) time(&the_time);
localtime_s(s_time, &the_time);

上記のように変えたのですが、
warning C4700: 初期化されていないローカル変数 's_time' が使用されます
となってしまいました。

warningがでないようにするにはどうすればよいでしょうか?
よろしくお願い致します。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

マニュアル
http://msdn2.microsoft.com/ja-jp/library/a442x3ye(VS.80).aspx
によると

>struct tm *s_time;

struct tm s_time;

>localtime_s(s_time, &the_time);
localtime_s(&s_time, &the_time);


返信引用
Kamiru1981
 Kamiru1981
(@Kamiru1981)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

>struct tm *s_time;

struct tm s_time;

>localtime_s(s_time, &the_time);
localtime_s(&s_time, &the_time);

Blueさん、
早速の回答ありがとうございます。
上記のように修正したらwarningがなくなりました。

解決とさせていただきます。
またよろしくお願い致します。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

なぜ、こう変更したらOKなのか理解できているならいいですが、
大丈夫でしょうか。

関数の引数がポインタ渡しになっている場合の考え方はとても大事なので
ちゃんと理解できるまで内容の確認をしっかりされてください。
同じようなケースはいくらでも有りますので。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました