- 締切済み
Cygwinに「新しい時刻を入力してください」と表示される。
C言語の授業を大学後期からとった初心者です。 最近、経過日計算のプログラムを作る課題が出ました。 まずは、パソコンから日付を取得しようと思ったのですが、 何故か実行すると、 現在の時間12:34:21.01 新しい時刻を入力してください: という風に表示されます。これは何故なのでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tatsu99
- ベストアンサー率52% (391/751)
CygwinではないがLinuxの環境では正常にこのプログラムは動作します。あなたが作成したプログラムの名前をtimeにしていませんか。 そうすると、実際のtimeコマンドが、実行されてしましますので、 プログラム名を別の名前にしてみて下さい。
- edomin
- ベストアンサー率32% (327/1003)
#2です。 「TIME」コマンドを実行しているところで「/T」オプションをつけてみましょう。 以下抜粋 「このスイッチを指定すると、現在の時刻だけが表示され、新しい時刻を入力するためのプロンプトは表示されません。」
お礼
ありがとうございます!
- edomin
- ベストアンサー率32% (327/1003)
どうやって、現在の時刻を取得しようとしているのでしょう? 「現在の時間12:34:21.01 新しい時刻を入力してください:」 これは、コマンドプロンプト上で「TIME」コマンドを実行したときと結果が同じです。
補足
まだ、時間の取得の部分だけですが、こんな感じです。 #include <stdio.h> #include <time.h> main() { time_t timer; struct tm *t_st; /* 現在時刻の取得 */ time(&timer); /* 現在時刻を構造体に変換 */ t_st = localtime(&timer); printf("現在%d/%d/%d",t_st->tm_year,t_st->tm_mon+1,t_st->tm_mday); return(0); }
- tatsu99
- ベストアンサー率52% (391/751)
どのようなプログラムを作成されましたか。 たぶん、そのプログラムが、新しい日付をセットすることを行っているとおもいますが、ソースが提示されないと判断のしようがありません。
補足
#2さんの補足に追加させていただきました。
お礼
あ…プログラムの名前timeにしてました。 ご指摘ありがとうございます!