コンソールアプリケーションで一秒ごとに値を返したい。

[戻る]
ぶんしち 2001/11/22(木) 15:06:12
はじめまして。
脱初心者を目指すぶんしちという者です。

現在自分はVC++でプログラムを組んでいるのですが、
”一秒ごとに値を返す。”
というところで詰まっています。

UNIXを使用している知人たちから
sleep()を使えば簡単やんと言われ、
試行錯誤しているのですがなかなかうまくいきません。

やはりサポートされていないのでしょうか?
それとVCで一秒間時間停止をするには
ほかにどんな手段が考えられるのでしょうか?

よろしくお願いします。

YuO [E-Mail] 2001/11/22(木) 20:03:09
値を返すというのは何に対して値を返すのでしょう。
非常に問題が曖昧で,答えようがないです。

ちなみに,UNIXのsleepと同じ事は,Sleep APIでできます。

ぶんしち 2001/11/26(月) 12:28:17
そうですね、曖昧でした。

例えば
「一秒ごとに、文字を表示する」
ということをしたいのです。

よろしくお願いします。

たけみ 2001/11/26(月) 12:39:09
1秒おきに文字列出力なら
void main()
{
.....................
while(1)
{
Sleep(1000);
printf("1秒間隔文字出力テスト\n");
}
}
でいいのでは?
ただwhile(1)をそのまま使うとctrl+cで強制終了するまで処理しつづけるのでちょっとひねる必要がありますが。

ぶんしち 2001/11/26(月) 14:52:34
たけみさん、お返事ありがとうございます。

以前にその書き方でためしたときは
'Sleep' : 関数が不正な 1 個の実引数をともなって呼び出されました。
というエラーメッセージが出たんです。

あと、winbase.hをインクルードするのかなと思って
そのままコンパイルしたら、ヘッダのコンパイルに失敗しました。

Sleep()を使う際に必要な準備とかあれば教えていただけませんか。

toru [E-Mail] [HomePage] 2001/11/26(月) 16:26:15
winbase.hでは無くwindows.hではないかと。

> 'Sleep' : 関数が不正な 1 個の実引数をともなって呼び出されました。
でもこれって引数の数が違う時に出るエラーですよね、なんでだろ?

ぶんしち 2001/11/27(火) 12:37:38
toruさん、ありがとうございました。

windows.hをインクルードするとコンパイルできました。

しかし
エラー”外部シンボル "_sleep" は未解決です。”が出てきます。
むむむ・・・

toru [E-Mail] [HomePage] 2001/11/27(火) 23:02:47
#pragma comment (lib,"kernel32.lib")

を追加してみて下さい。

古いスレッドには追加発言できません。