###実現したいこと
指定された時間が経過したことを知らせるプログラムを作りたい。
sleepを使う
###問題点
タイマーの部分がうまく動かない。 指定した時間と違う時間を刻み始める。。
###コード
C++
1#include<iostream> 2#include<chrono> 3#include<thread> 4#include<cstdlib> 5void sleep(double sec); 6int main(int argc,char* argv[]) 7{ 8 int i; 9 std::cout<<"0% 10 20 30 40 50 60 70 80 90 100\n"; 10 std::cout<<"|----|----|----|----|----|----|----|----|----|----|\n"; 11 std::cout<<"^"<<std::flush; 12 for(i=0;i<50;i++){ 13 sleep(std::atof(argv[i])/50); 14 std::cout<<"\b"; 15 std::cout<<"~"; 16 std::cout<<"^"; 17 std::cout<<std::flush; 18 } 19 std::cout<<"\n"; 20 std::cout<<std::atof(argv[1])<<"秒経過しました\n"; 21 return 0; 22} 23void sleep(double sec) 24{ 25 int msec=sec*1000; 26 std::this_thread::sleep_for(std::chrono::milliseconds(msec)); 27}
質問のプログラムは、どのような引数を指定して起動するのですか?
for(i=0;i<50;i++){ sleep(std::atoi(argv[i])/50);
となっているので、50個もの引数を指定するのだと思うのですが、そんなに大量の引数で何を指定するのですか?
回答2件
あなたの回答
tips
プレビュー