アプリ版:「スタンプのみでお礼する」機能のリリースについて

例えば
printf("apple\n");
printf("orange\n");
と二つの文字列を表示するとします。
これなら簡単なのですが
appleと表示した2秒後にorangeと表示する方法を知りたいのです。そんなことは可能ですか?知っている方がいらっしゃれば教えてくださいm(__)m

A 回答 (9件)

あまりほめられた実装ではありませんが時刻取得関数を使って時間が経過するまでbusyloopで待つという手法がお手軽ではあります


#include <time.h>

{
time_t start,now;
printf("apple\n");
time(&start);
do{
time(&now);
}while(difftime(now,start)<2.0);
printf("orange\n");
}
というようなつくりです
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
質問ではappleとorangeだけなのですが、今作ろうとしているプログラミングは
居酒屋のメニューを端末でうつ練習をするプログラムです。
「60種類のメニューのうち1つ」と「その個数」
を2秒ごとにランダムにどんどん表示していくプログラムを作ろうとしています。
 ランダムに表示するのはrand()とifを使ってできたのですが、2秒ごとに表示させることができません。
 回答のようにdo whileを使うと混乱してきそうです(笑)回答ありがとうございました。

お礼日時:2006/02/17 02:56

#include <stdio.h>


#include <windows.h>
int main(){
printf("apple\n");
Sleep(2000);
printf("orange\n");
return 0;
}
*bcc32、vc++7.1ならこれで動きました。
    • good
    • 0
この回答へのお礼

 まねしてやってみたらwindows.hが開けませんでした。sleep関数を開くためのファイルが環境にないみたいです。他に良い手があったら教えてください。
回答本当にありがとうございました。

お礼日時:2006/02/17 02:59

更に横槍すみません。


sleepはCの標準関数ではありません。
処理系依存です。

質問では環境を書いた方がいいですよ。

この回答への補足

的確なアドバイスありがとうございます。そのように親切に注意してくれる方がいらっしゃることを幸せに思います。
 環境はwindows XPです

 

補足日時:2006/02/15 12:39
    • good
    • 0

sleep(秒);


のようですね
http://x68000.q-e-d.net/~68user/unix/func.html#s …

マイクロソフトさんはミリ秒がお好みのようです
VOID Sleep(
DWORD dwMilliseconds // 中断の時間
);
http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0
この回答へのお礼

参考URLまでつけたわかりやすい説明大変感謝します(^o^)sleepやってみますね

お礼日時:2006/02/17 02:48

>sleep() の引数は、2000 かと・・・。


Cの標準関数では引数は秒数です。
PerlもPHPも秒数です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます(^o^)
Cの標準関数では秒数なのですね。
補足感謝します><

お礼日時:2006/02/17 02:46

横ヤリすみません。



sleep() の引数は、2000 かと・・・。
    • good
    • 0
この回答へのお礼

横やりありがとうございます(笑)
sleep関数はミリ秒で表示するんですか?2000でやってみます。回答感謝です><

お礼日時:2006/02/17 02:43

システムコールのsleepを使用してはいかがでしょうか。



printf("apple\n");
sleep(2);
printf("orange\n");

でappleの2秒後にorangeが出るはず。
    • good
    • 0
この回答へのお礼

お礼遅くなりました。すばやい回答ありがとうございます。sleep関数使ってみましたけど、だめでした><
appleまでは表示できるんですが…(-o-;
でも回答してくださったことに感謝です!!

お礼日時:2006/02/17 02:41

printf("apple\n");


sleep(2);
printf("orange\n");
でどうでしょう。
    • good
    • 0
この回答へのお礼

お礼遅くなりました。すばやい回答ありがとうございます。sleep関数使ってみましたけど、だめでした><
appleまでは表示できるんですが…(-o-;
でも回答してくださったことに感謝です!!

お礼日時:2006/02/17 02:41

環境が分からないのですが、


printf("apple?n");
sleep(2);
printf("orange?n");
ではダメかしら?
    • good
    • 0
この回答へのお礼

お礼遅くなりました。すばやい回答ありがとうございます。sleep関数使ってみましたけど、だめでした><
appleまでは表示できるんですが…(-o-;
でも回答してくださったことに感謝です!!

お礼日時:2006/02/17 02:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!