C++Builder 中的 Format 函數及其用法。

來源:互聯網
上載者:User
C++Builder 中的 Format 函數作用與 Delphi 中的是一樣的,相信不用我廢話了。但是唯一不同的是參數。由於 Delphi 支援“開參數”和動態數組特性,所以 Delphi 中的 Format 只有兩個參數,其中後一個參數就是一個動態開參數常數數組。請注意我的用詞!Delphi 的動態開參數常數數組的型別宣告是 array of const,這種動態常數開數組的每一個元素可以是不同的類型。而且使用時的文法類似 Delphi 中的集合:採用兩個方括弧把不同類型的變數括起來,也可以採用聲明一個 TVarRec 類型的數組來容納不同的類型變數(具體請參閱其協助文檔)。而在 C++Builder 中,沒有像 Delphi 中的那中文法特性,BCB 中的 Format 函數其第一個參數與 Delphi 的 Format 是類似的(一個格式化描述字串),而後面有兩個參數,第二個參數是一個 TVarRec 類型的數組指標,第三個參數是這個數組的最後一個元素的索引值!因為 C++ 不支援動態數組文法,也沒有什麼“開參數”之類的怪異特性,所以當你傳遞數組時,你必須同時傳遞數組的大小(Format 要求的是數組的最後一個元素的索引值,因此大同小異)。剛才我說過,在 Delphi 中也可以用 TVarRec 數組代替方括弧的方法,其實本質是一樣的。當然了,在 C++Builder 中,我們沒有必要在每次使用 Format 函數時都先聲明一個 TVarRec 數組,然後再把要用於輸出的變數賦給 TvarRec 數組的每一個元素,最後還要傳遞 TVarRec 數組的最後元素索引。其實,我們可以使用一個 C++Builder 預先聲明好的宏 ARRAYOFCONST,直接傳入要格式化輸出的變數,請看下面的例子:

Memo1->Text = Format(
"My name is %s, I'm %d years old.",
ARRAYOFCONST(("Phoenix2000", 22)) //注意兩個括弧
);

OK, 一切就搞定了!這個宏的實質是傳遞兩個參數給 Format 函數,一個是 TVarRec 數俎指標,另一個是這個數俎的最後元素的索引,大家可以參照一下有關協助文檔。另外,C++Builder 中的 AnsiString 類也有一個 Format 類成員函數,不過這個成員函數是個靜態函數,使用時要注意一下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.