C語言swprintf函數的正確用法

在這篇文章的開頭,我要狠狠的吐槽國內那些專門抄別人文章的網站主們,抄是可以抄,但是一篇錯的文章還抄來抄去的有意思嗎???

swprintf函數原型:

int swprintf(wchar_t * ws,size_t len,const wchar_t * format,...);

參數説明:

ws

指向存儲寬字符串的緩衝區的指針。
緩衝區的大小至少為n個寬字符。

len

填充ws緩衝區的最大寬字符數。
生成的字符串長度至多為n-1,為額外的’0’留一個空間。

format

寬字符串,其中包含格式字符串,其格式與printf中的格式相同。
請注意,所有格式説明符的含義與printf中的相同; 因此,應使用%lc寫寬字符(而不是%c),並且%ls應用於寬字符串(而不是%s)。

… (附加參數)

同printf的附加參數,不做過多解釋。

程序示例:

#include <stdio.h>
#include <wchar.h>
int main (void) {
    wchar_t str [100] = L"";
    swprintf (str, 100, L"%ls%d is %d",L"The half of " ,80, 80/2);
    fputws (str, stdout);
    return 0;
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha Code