簡體   English   中英

ios :: adjustfield的目的是什么?

[英]What is the purpose of ios::adjustfield?

ios::adjustfield到底是什么?它有什么作用? 我何時以及如何使用它?

ios::adjustfield是通過將ios::leftios::rightios::internal或在一起而制成的位掩碼。 后三個是控制輸出調整的標志。 該頁面提供了這三個標志的示例。

但是,設置ios::adjustfield本身沒有多大意義-在任何給定時間設置三個調整標志中的一個以上都沒有任何意義。 那么為什么標准庫提供它呢?

答案是使清除現有調整標志變得容易。 如果flg是當前的一組格式化標志的,你可以不設置ios::right ,只需flg |= ios::right; ,因為如果已經設置了不同的調整標志,那么您只需同時將兩個調整標志設置為on,這是沒有意義的。

相反,您需要先使用flg &= ~ios::adjustfield;清除當前的調整標志flg &= ~ios::adjustfield; 這為您清除了使用flg |= ios::right;設置另一個調整標志的方式flg |= ios::right; 操縱ios標志的功能ios::setf()允許您給它掩蓋要清除的標志。

注意,您通常不需要直接使用ios::adjustfield ; I / O操作器std::leftstd::rightstd::internal更加方便。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM