2017-07-08 114 views
-4

我正在創建一個簡單的服務器控制檯應用程序。該服務器在Windows上工作。進度條C++

我想製作一個進度條並在服務器向客戶端發送文件時進行打印。但我不知道如何使用winapi來實現它。

有人能解釋一下嗎?

+1

***有人可以解釋嗎?***當我們不知道你使用的是什麼api /框架時,就不可能開始。我認爲你的意思是winapi。或者你是否使用其他框架,如Qt或mfc或wxwidgets? – drescherjm

+0

是的,我的意思是winapi –

+0

它的控制檯應用程序 –

回答

2

您可以使用回車符(\ r)在控制檯的同一行寫入。使用這種技術,您基本上可以覆蓋舊的進度並打印新的進度,這會導致「移動」進度條。這個工作獨立於任何api,只是使用C++而且它在Windows控制檯上工作。

​​

您瞭解這個概念,並且可以根據您的需求調整外觀。 只需將進度值作爲兩倍傳遞給此(100%= 1.0)。 如果進度爲1.0,編寫一個零件可能會很有用,以便在最後打印一個完整的工具欄時使用\ n或std :: endl。

+0

如果我有發送給客戶端的文件大小,如何計算「進度」? –

+2

您需要跟蹤已發送的字節數。然後它只是發送Bytes/totalBytes(或任何其他單位,你在計數) – CatPlusPlus

+0

非常感謝) –