ローカル時間を取得して、繋げて文字列にしたいのですが、
2003/10/08/ 13:24(見たいな感じです)
キャストがうまくいきません…。
どなたか良い方法を知っている方はいないでしょうか?
お願いします。
変なキャストなど考えずに strftime() を使うべし。
つーか、うまくいかないキャストのソースコードを出さずに
アドバイスできる人がいると思うのですか?
ローカル時間はどうやって取得してますか?
何をキャストしようとして2003/10/08/ 13:24みたくしようとしてるのでしょうか。
もっと具体的に説明してください。
ただキャストがうまくいかないと言っても
回答できないと思います。
該当するコードを抜粋して載せてみるのもいいかも・・・
数値から文字列に'変換'することを'キャスト'と称していませんか?
変換とキャストはまったく違います。誤解のなきよう。
いずれにせよ、コードを呈示してください。
もうしわけないです。
----------------------------------
LPSTR sYear,sMonth,sDay,sHour,sMinute,Time;
SYSTEMTIME st;
GetLocalTime(&st);
sYear=(LPSTR)st.wYear;
sMonth=(LPSTR)st.wMonth;
sDay=(LPSTR)st.wDay;
sHour=(LPSTR)st.wHour;
sMinute=(LPSTR)st.wMinute;
strcpy(Time,sYear);
strcat(Time,/);
strcat(Time,sMonth);
strcat(Time,/);
strcat(Time,sDay);
strcat(Time, );
strcat(Time,sHour);
strcat(Time,:);
strcat(Time,sMinute);
----------------------------------
コードはこんな感じで、ライブラリーファイルを生成しようとしています。
エラー自体はstrcpyで発生しているのですが、sYearの値がエラーになっていました。
お願いします。
>tetrapodさん
strftime()とは、どういうものでしょうか?
> sYear=(LPSTR)st.wYear;
> ...
数値を文字列に'キャスト'しただけで'変換'されることはありません。
# キャストしてはいけません。変換してください。
sprintf(buff, %04d/%02d/%02d %02d:%02d, .... )
> strftime()とは、どういうものでしょうか?
なぜマニュアルを読まない?
# 上記 sprintf と同様のことをやってくれます。
ありがとうございました。
マニュアルは会社の管理体制が悪く出てきませんでしたので、本を見ながらの開発がはじまって
しまっている状況でした、申し訳ありません。
今年の大掃除あたりに出てくると思います。
>sprintf(buff, %04d/%02d/%02d %02d:%02d, .... )
sprintfはネットで調べて、ヘルプ参照しながら使ったのですが、リンクエラーみたいなのが発
生し、「定義されています…」等のメッセージが出てきて、手詰まり状態だったので、他の方法
を探していました。
でも、書き方はあっていたようなので、もう一度チャレンジしていたら、ここの過去ログから、
似たようなのを発見し、なんとかできるようになりました。
御世話になりました…
> επιστημη
毎度毎度、お前はそういう言い方しかできないのか?
なにがお気に召さなかったのでしょうか?
>マニュアルは会社の管理体制が悪く出てきませんでしたので、本を見ながらの開発がはじまっ
て
>しまっている状況でした、
MSDNは Webでも参照することができますよ。
strftime でしたらこちらになりますね。
http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/vclib/html/_crt_strftime.2c_.wcsftime.asp
# どうしてまず検索しないのかなあ。
> επιστημη
そういう人を見下した態度がお気に召さないんですよ。
>そういう人を見下した態度がお気に召さないんですよ。
ちょっと言いすぎかも。
あの人は個性的なんですよ。
ちょっと斜め21.5度くらいに。
> 貢様
そーなんですか…?
それなら、これからは斜め21.5度くらい傾けて読むようにしてみます…。